/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġandroidx . ui . layout . samples Ċ Ċ import Ġandroidx . annotation . Sample d Ċ import Ġandroidx . compose . Composable Ċ import Ġandroidx . compose . composer Ċ import Ġandroidx . ui . core . Text Ċ import Ġandroidx . ui . core . dp Ċ import Ġandroidx . ui . foundation . shape . Draw Shape Ċ import Ġandroidx . ui . foundation . shape . Rectangle Shape Ċ import Ġandroidx . ui . graphics . Color Ċ import Ġandroidx . ui . layout . AspectRatio Ċ import Ġandroidx . ui . layout . Column Ċ import Ġandroidx . ui . layout . Constr ained Box Ċ import Ġandroidx . ui . layout . Container Ċ import Ġandroidx . ui . layout . Cross AxisAlignment Ċ import Ġandroidx . ui . layout . Dp Constraints Ċ import Ġandroidx . ui . layout . Flex Row Ċ import Ġandroidx . ui . layout . Max Intr insic Height Ċ import Ġandroidx . ui . layout . Max Intr insic Width Ċ import Ġandroidx . ui . layout . Min Intr insic Height Ċ import Ġandroidx . ui . layout . Min Intr insic Width Ċ import Ġandroidx . ui . layout . Wrap Ċ Ċ /** Ċ Ġ* ĠBuilds Ġa Ġlayout Ġcontaining Ġthree Ġ[ Constr ained Box ] Ġhaving Ġthe Ġsame Ġwidth Ġas Ġthe Ġwide st Ġone . Ċ Ġ* Ċ Ġ* ĠHere Ġ[ Min Intr insic Width ] Ġis Ġadding Ġa Ġspec ul ative Ġwidth Ġmeasurement Ġpass Ġfor Ġthe Ġ[ Column ], Ċ Ġ* Ġwhose Ġminimum Ġintr insic Ġwidth Ġwill Ġcorrespond Ġto Ġthe Ġpreferred Ġwidth Ġof Ġthe Ġlargest Ċ Ġ* Ġ[ Constr ained Box ]. ĠThen Ġ[ Min Intr insic Width ] Ġwill Ġmeasure Ġthe Ġ[ Column ] Ġwith Ġtight Ġwidth , Ġthe Ġsame Ċ Ġ* Ġas Ġthe Ġpre meas ured Ġminimum Ġintr insic Ġwidth , Ġwhich Ġdue Ġto Ġ[ Cross AxisAlignment . Stretch ] Ġwill Ġforce Ċ Ġ* Ġthe Ġ[ Constr ained Box ] s Ġto Ġuse Ġthe Ġsame Ġwidth . Ċ Ġ*/ Ċ @ Sample d Ċ @ Composable Ċ fun ĠSame Width Boxes () Ġ{ ĊĠĠĠ ĠWrap Ġ{ ĊĠĠĠĠĠĠĠ ĠMin Intr insic Width Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColumn ( cross AxisAlignment Ġ= ĠCross AxisAlignment . Stretch ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCon str ained Box ( Dp Constraints . tight Constraints ( width Ġ= Ġ 2 0 . dp , Ġheight Ġ= Ġ 1 0 . dp )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDraw Shape ( Rectangle Shape , ĠColor . Gray ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCon str ained Box ( Dp Constraints . tight Constraints ( width Ġ= Ġ 3 0 . dp , Ġheight Ġ= Ġ 1 0 . dp )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDraw Shape ( Rectangle Shape , ĠColor . Blue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCon str ained Box ( Dp Constraints . tight Constraints ( width Ġ= Ġ 1 0 . dp , Ġheight Ġ= Ġ 1 0 . dp )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDraw Shape ( Rectangle Shape , ĠColor . F uchsia ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /* Ċ Ġ* ĠBuilds Ġa Ġlayout Ġcontaining Ġtwo Ġpieces Ġof Ġtext Ġseparated Ġby Ġa Ġdivider , Ġwhere Ġthe Ġdivider Ċ Ġ* Ġis Ġsized Ġaccording Ġto Ġthe Ġheight Ġof Ġthe Ġlongest Ġtext . Ċ Ġ* Ċ Ġ* ĠHere Ġ[ Min Intr insic Height ] Ġis Ġadding Ġa Ġspec ul ative Ġheight Ġmeasurement Ġpass Ġfor Ġthe Ġ[ Flex Row ], Ċ Ġ* Ġwhose Ġminimum Ġintr insic Ġheight Ġwill Ġcorrespond Ġto Ġthe Ġheight Ġof Ġthe Ġlargest Ġ[ Text ]. ĠThen Ċ Ġ* Ġ[ Min Intr insic Height ] Ġwill Ġmeasure Ġthe Ġ[ Flex Row ] Ġwith Ġtight Ġheight , Ġthe Ġsame Ġas Ġthe Ġpre meas ured Ċ Ġ* Ġminimum Ġintr insic Ġheight , Ġwhich Ġdue Ġto Ġ[ Cross AxisAlignment . Stretch ] Ġwill Ġforce Ġthe Ġ[ Text ] s Ġand Ċ Ġ* Ġthe Ġdivider Ġto Ġuse Ġthe Ġsame Ġheight . Ċ Ġ*/ Ċ @ Sample d Ċ @ Composable Ċ fun ĠMatch Parent Divider For Text () Ġ{ ĊĠĠĠ ĠWrap Ġ{ ĊĠĠĠĠĠĠĠ ĠMin Intr insic Height Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFlex Row ( cross AxisAlignment Ġ= ĠCross AxisAlignment . Stretch ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpanded ( flex Ġ= Ġ 1 f ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText (" This Ġis Ġa Ġreally Ġshort Ġtext ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin flex ible Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠContainer ( width Ġ= Ġ 1 . dp ) Ġ{ ĠDraw Shape ( Rectangle Shape , ĠColor . Black ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpanded ( flex Ġ= Ġ 1 f ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText (" This Ġis Ġa Ġmuch Ġmuch Ġmuch Ġmuch Ġmuch Ġmuch Ġmuch Ġmuch Ġmuch Ġmuch " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġmuch Ġmuch Ġmuch Ġmuch Ġmuch Ġmuch Ġlonger Ġtext ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠBuilds Ġa Ġlayout Ġcontaining Ġthree Ġ[ Text ] Ġboxes Ġhaving Ġthe Ġsame Ġwidth Ġas Ġthe Ġwide st Ġone . Ċ Ġ* Ċ Ġ* ĠHere Ġ[ Max Intr insic Width ] Ġis Ġadding Ġa Ġspec ul ative Ġwidth Ġmeasurement Ġpass Ġfor Ġthe Ġ[ Column ], Ċ Ġ* Ġwhose Ġmaximum Ġintr insic Ġwidth Ġwill Ġcorrespond Ġto Ġthe Ġpreferred Ġwidth Ġof Ġthe Ġlargest Ċ Ġ* Ġ[ Constr ained Box ]. ĠThen Ġ[ Max Intr insic Width ] Ġwill Ġmeasure Ġthe Ġ[ Column ] Ġwith Ġtight Ġwidth , Ġthe Ġsame Ċ Ġ* Ġas Ġthe Ġpre meas ured Ġmaximum Ġintr insic Ġwidth , Ġwhich Ġdue Ġto Ġ[ Cross AxisAlignment . Stretch ] Ġwill Ġforce Ċ Ġ* Ġthe Ġ[ Constr ained Box ] s Ġto Ġuse Ġthe Ġsame Ġwidth . Ċ Ġ*/ Ċ @ Sample d Ċ @ Composable Ċ fun ĠSame Width TextBox es () Ġ{ ĊĠĠĠ ĠWrap Ġ{ ĊĠĠĠĠĠĠĠ ĠMax Intr insic Width Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColumn ( cross AxisAlignment Ġ= ĠCross AxisAlignment . Stretch ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWrap Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDraw Shape ( Rectangle Shape , ĠColor . Gray ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText (" Short Ġtext ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWrap Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDraw Shape ( Rectangle Shape , ĠColor . Blue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText (" Ext reme ly Ġlong Ġtext Ġgiving Ġthe Ġwidth Ġof Ġits Ġs iblings ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWrap Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDraw Shape ( Rectangle Shape , ĠColor . F uchsia ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText (" Medium Ġlength Ġtext ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /* Ċ Ġ* ĠBuilds Ġa Ġlayout Ġcontaining Ġtwo Ġ[ AspectRatio ] s Ġseparated Ġby Ġa Ġdivider , Ġwhere Ġthe Ġdivider Ċ Ġ* Ġis Ġsized Ġaccording Ġto Ġthe Ġheight Ġof Ġthe Ġt aller Ġ[ AspectRatio ]. Ċ Ġ* Ċ Ġ* ĠHere Ġ[ Max Intr insic Height ] Ġis Ġadding Ġa Ġspec ul ative Ġheight Ġmeasurement Ġpass Ġfor Ġthe Ġ[ Flex Row ], Ċ Ġ* Ġwhose Ġmaximum Ġintr insic Ġheight Ġwill Ġcorrespond Ġto Ġthe Ġheight Ġof Ġthe Ġt aller Ġ[ AspectRatio ]. ĠThen Ċ Ġ* Ġ[ Max Intr insic Height ] Ġwill Ġmeasure Ġthe Ġ[ Flex Row ] Ġwith Ġtight Ġheight , Ġthe Ġsame Ġas Ġthe Ġpre meas ured Ċ Ġ* Ġmaximum Ġintr insic Ġheight , Ġwhich Ġdue Ġto Ġ[ Cross AxisAlignment . Stretch ] Ġwill Ġforce Ġthe Ġ[ AspectRatio ] s Ċ Ġ* Ġand Ġthe Ġdivider Ġto Ġuse Ġthe Ġsame Ġheight . Ċ Ġ*/ Ċ @ Sample d Ċ @ Composable Ċ fun ĠMatch Parent Divider For AspectRatio () Ġ{ ĊĠĠĠ ĠWrap Ġ{ ĊĠĠĠĠĠĠĠ ĠMax Intr insic Height Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFlex Row ( cross AxisAlignment Ġ= ĠCross AxisAlignment . Stretch ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpanded ( flex Ġ= Ġ 1 f ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAs pect Ratio ( 2 f ) Ġ{ ĠDraw Shape ( Rectangle Shape , ĠColor . Gray ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin flex ible Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠContainer ( width Ġ= Ġ 1 . dp ) Ġ{ ĠDraw Shape ( Rectangle Shape , ĠColor . Black ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpanded ( flex Ġ= Ġ 1 f ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAs pect Ratio ( 1 f ) Ġ{ ĠDraw Shape ( Rectangle Shape , ĠColor . Blue ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ