package Ġcom . example . compose one Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . activity . Component Activity Ċ import Ġandroidx . activity . compose . setContent Ċ import Ġandroidx . compose . animation . animate Color As State Ċ import Ġandroidx . compose . foundation . Image Ċ import Ġandroidx . compose . foundation . background Ċ import Ġandroidx . compose . foundation . click able Ċ import Ġandroidx . compose . foundation . layout .* Ċ import Ġandroidx . compose . foundation . lazy . Lazy Column Ċ import Ġandroidx . compose . foundation . lazy . remember Lazy List State Ċ import Ġandroidx . compose . foundation . shape . Circle Shape Ċ import Ġandroidx . compose . foundation . shape . Rounded Corner Shape Ċ import Ġandroidx . compose . material .* Ċ import Ġandroidx . compose . material . Material Theme Ċ import Ġandroidx . compose . material . icons . Icons Ċ import Ġandroidx . compose . material . icons . filled . Favorite Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . Composition Local Provider Ċ import Ġandroidx . compose . runtime . mutable State Of Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . draw . clip Ċ import Ġandroidx . compose . ui . graphics . Color Ċ import Ġandroidx . compose . ui . layout . Content Scale Ċ import Ġandroidx . compose . ui . res . p ainter Resource Ċ import Ġandroidx . compose . ui . text . font . Font Weight Ċ import Ġandroidx . compose . ui . text . style . Text Overflow Ċ import Ġandroidx . compose . ui . tool ing . preview . Preview Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġcom . example . compose one . ui . custom . first Baseline To Top Ċ Ċ class ĠMainActivity Ġ: ĠComponent Activity () Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġset Content Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPage () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠPage () Ġ{ ĊĠĠĠ ĠScaffold ( ĊĠĠĠĠĠĠĠ Ġtop Bar Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTop AppBar ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġ" Compose - Learning ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactions Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon Button ( onClick Ġ= Ġ{ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( Icons . Filled . Favorite , Ġcontent Description Ġ= Ġnull ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) Ġ{ Ġinner Padding Ġ-> ĊĠĠĠĠĠĠĠ ĠBody Content ( Modifier . padding ( inner Padding )) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠBody Content ( modifier : ĠModifier Ġ= ĠModifier ) Ġ{ ĊĠĠĠ ĠColumn ( modifier Ġ= Ġmodifier ) Ġ{ ĊĠĠĠĠĠĠĠ ĠNews Story ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. weight ( 1 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( 1 6 . dp ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠPhoto grapher Card () ĊĠĠĠĠĠĠĠ ĠDiv ider ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . padding ( top Ġ= Ġ 1 0 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠColor . Transparent , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthickness Ġ= Ġ 1 6 . dp ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠCounter Wrapper () ĊĊĊĠĠĠĠĠĠĠ ĠDiv ider ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . padding ( bottom Ġ= Ġ 2 0 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠColor . Transparent , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthickness Ġ= Ġ 1 6 . dp ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ @ Composable Ċ fun ĠNews Story ( modifier : ĠModifier Ġ= ĠModifier ) Ġ{ ĊĠĠĠ ĠLazy Column ( modifier Ġ= Ġmodifier , Ġstate Ġ= Ġremember Lazy List State ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġitems ( 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠImage ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpainter Ġ= Ġpainter Resource ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= ĠR . drawable . header ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. height ( 1 8 0 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Width () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. clip ( shape Ġ= ĠRo unded Corner Shape ( 4 . dp )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Scale Ġ= ĠContent Scale . Crop ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSp acer ( modifier Ġ= ĠModifier . height ( 1 6 . dp )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" A Ġday Ġw and ering Ġthrough Ġthe Ġs and h ills Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" in ĠSh ark ĠFin ĠC ove , Ġand Ġa Ġfew Ġof Ġthe Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" s ights ĠI Ġsaw ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠMaterial Theme . typography . h 6 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverflow Ġ= ĠText Overflow . El lipsis , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" D aven port , ĠCalifornia ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠMaterial Theme . typography . body 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" De cember Ġ 2 0 2 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠMaterial Theme . typography . body 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ @ Composable Ċ fun ĠPhoto grapher Card ( modifier : ĠModifier Ġ= ĠModifier ) Ġ{ ĊĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠ Ġmodifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( 8 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. clip ( Rounded Corner Shape ( 4 . dp )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. background ( Material Theme . colors . surface ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( 1 6 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. click able Ġ{ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠ ĠSurface ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . size ( 5 0 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshape Ġ= ĠCircle Shape , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠMaterial Theme . colors . on Surface . copy ( alpha Ġ= Ġ 0 . 2 F ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠImage ĠGO ES ĠHERE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( start Ġ= Ġ 8 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. align ( Alignment . Center Vert ically ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġ" A lf red ĠS is ley ", ĠfontWeight Ġ= ĠFontWeight . Bold ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComp osition Local Provider ( Local Content Alpha Ġprovides ĠContent Alpha . medium ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġ" 3 Ġminutes Ġago ", Ġstyle Ġ= ĠMaterial Theme . typography . body 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠCounter Wrapper () Ġ{ ĊĠĠĠ Ġval Ġcount State Ġ= Ġremember Ġ{ Ġmutable State Of ( 0 ) Ġ} ĊĊĠĠĠ ĠCounter ( count Ġ= Ġcount State . value , Ġupdate Count Ġ= Ġ{ Ġcount State . value Ġ= Ġit Ġ}) ĊĠĠĠ ĠDiv ider ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . padding ( top Ġ= Ġ 1 0 . dp ), ĊĠĠĠĠĠĠĠ Ġcolor Ġ= ĠColor . Transparent , ĊĠĠĠĠĠĠĠ Ġthickness Ġ= Ġ 3 2 . dp ĊĠĠĠ Ġ) Ċ } Ċ Ċ @ Composable Ċ fun ĠCounter ( count : ĠInt , Ġupdate Count : Ġ( Int ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġval Ġis Selected Ġ= Ġremember Ġ{ Ġmutable State Of ( value Ġ= Ġfalse ) Ġ} ĊĠĠĠ Ġval ĠtextColor Ġ= ĊĠĠĠĠĠĠĠ Ġanimate Color As State ( target Value Ġ= Ġif Ġ( isSelected . value ) ĠColor . Green Ġelse ĠColor . White ) ĊĊĠĠĠ ĠButton ( onClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠ Ġis Selected . value Ġ= Ġ! isSelected . value ĊĠĠĠĠĠĠĠ Ġupdate Count ( count Ġ+ Ġ 1 ) ĊĠĠĠ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġ" I 've Ġbeen Ġclicked Ġ${ count Ġ+ Ġ 1 } Ġtimes ", Ġcolor Ġ= ĠtextColor . value ) ĊĠĠĠ Ġ} Ċ Ċ } ĊĊ Ċ @ Preview ( show Background Ġ= Ġtrue ) Ċ @ Composable Ċ fun ĠDefault Preview () Ġ{ ĊĠĠĠ ĠPage () Ċ } ĊĊ Ċ // Ġtest Ċ //@ Preview ( show Background Ġ= Ġtrue ) Ċ @ Composable Ċ fun ĠText Baseline Top Padding () Ġ{ ĊĠĠĠ ĠText ( text Ġ= Ġ" Hi Ġthere !", ĠModifier . first Baseline To Top ( 3 2 . dp )) Ċ } Ċ Ċ //@ Preview ( show Background Ġ= Ġtrue ) Ċ @ Composable Ċ fun ĠText Normal Top Padding () Ġ{ ĊĠĠĠ ĠText ( text Ġ= Ġ" Hi Ġthere !", ĠModifier . padding ( top Ġ= Ġ 3 2 . dp )) Ċ Ċ } ĊĊ