package Ġcom . lx j . android k tx . core Ċ Ċ import Ġandroid . animation . Animator Ċ import Ġandroid . animation . Int Evaluator Ċ import Ġandroid . animation . Value Animator Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ Ċ /** Ċ Ġ* ĠDescription : ĠView çĽ¸åħ³ Ċ Ġ* ĠCreate Ġby Ġl xj , Ġat Ġ 2 0 1 8 / 1 2 / 4 Ċ Ġ*/ Ċ Ċ /** Ċ Ġ* Ġè®¾ç½® View çļĦ é«ĺåº¦ Ċ Ġ*/ Ċ fun ĠView . height ( height : ĠInt ): ĠView Ġ{ ĊĠĠĠ Ġval Ġparams Ġ= Ġlayout Params Ġ?: ĠViewGroup . LayoutParams ( ViewGroup . LayoutParams . MATCH _ PARENT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠViewGroup . LayoutParams . WRAP _ CONTENT ) ĊĠĠĠ Ġparams . height Ġ= Ġheight ĊĠĠĠ Ġlayout Params Ġ= Ġparams ĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ /** Ċ Ġ* Ġè®¾ç½® View é«ĺåº¦ ï¼Į éĻĲåĪ¶ åľ¨ min åĴĮ max èĮĥåĽ´ ä¹ĭ åĨħ Ċ Ġ* Ġ@ param Ġh Ċ Ġ* Ġ@ param Ġmin Ġ æľĢå°ı é«ĺåº¦ Ċ Ġ* Ġ@ param Ġmax Ġ æľĢå¤§ é«ĺåº¦ Ċ Ġ*/ Ċ fun ĠView . limit Height ( h : ĠInt , Ġmin : ĠInt , Ġmax : ĠInt ): ĠView Ġ{ ĊĠĠĠ Ġval Ġparams Ġ= Ġlayout Params Ġ?: ĠViewGroup . LayoutParams ( ViewGroup . LayoutParams . MATCH _ PARENT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠViewGroup . LayoutParams . WRAP _ CONTENT ) ĊĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġh Ġ< Ġmin Ġ-> Ġparams . height Ġ= Ġmin ĊĠĠĠĠĠĠĠ Ġh Ġ> Ġmax Ġ-> Ġparams . height Ġ= Ġmax ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġparams . height Ġ= Ġh ĊĠĠĠ Ġ} ĊĠĠĠ Ġlayout Params Ġ= Ġparams ĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ /** Ċ Ġ* Ġè®¾ç½® View çļĦ å®½åº¦ Ċ Ġ*/ Ċ fun ĠView . width ( width : ĠInt ): ĠView Ġ{ ĊĠĠĠ Ġval Ġparams Ġ= Ġlayout Params Ġ?: ĠViewGroup . LayoutParams ( ViewGroup . LayoutParams . MATCH _ PARENT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠViewGroup . LayoutParams . WRAP _ CONTENT ) ĊĠĠĠ Ġparams . width Ġ= Ġwidth ĊĠĠĠ Ġlayout Params Ġ= Ġparams ĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ /** Ċ Ġ* Ġè®¾ç½® View å®½åº¦ ï¼Į éĻĲåĪ¶ åľ¨ min åĴĮ max èĮĥåĽ´ ä¹ĭ åĨħ Ċ Ġ* Ġ@ param Ġw Ċ Ġ* Ġ@ param Ġmin Ġ æľĢå°ı å®½åº¦ Ċ Ġ* Ġ@ param Ġmax Ġ æľĢå¤§ å®½åº¦ Ċ Ġ*/ Ċ fun ĠView . limit Width ( w : ĠInt , Ġmin : ĠInt , Ġmax : ĠInt ): ĠView Ġ{ ĊĠĠĠ Ġval Ġparams Ġ= Ġlayout Params Ġ?: ĠViewGroup . LayoutParams ( ViewGroup . LayoutParams . MATCH _ PARENT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠViewGroup . LayoutParams . WRAP _ CONTENT ) ĊĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġw Ġ< Ġmin Ġ-> Ġparams . width Ġ= Ġmin ĊĠĠĠĠĠĠĠ Ġw Ġ> Ġmax Ġ-> Ġparams . width Ġ= Ġmax ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġparams . width Ġ= Ġw ĊĠĠĠ Ġ} ĊĠĠĠ Ġlayout Params Ġ= Ġparams ĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ /** Ċ Ġ* Ġè®¾ç½® View çļĦ å®½åº¦ åĴĮ é«ĺåº¦ Ċ Ġ* Ġ@ param Ġwidth Ġ è¦ģ è®¾ç½® çļĦ å®½åº¦ Ċ Ġ* Ġ@ param Ġheight Ġ è¦ģ è®¾ç½® çļĦ é«ĺåº¦ Ċ Ġ*/ Ċ fun ĠView . width And Height ( width : ĠInt , Ġheight : ĠInt ): ĠView Ġ{ ĊĠĠĠ Ġval Ġparams Ġ= Ġlayout Params Ġ?: ĠViewGroup . LayoutParams ( ViewGroup . LayoutParams . MATCH _ PARENT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠViewGroup . LayoutParams . WRAP _ CONTENT ) ĊĠĠĠ Ġparams . width Ġ= Ġwidth ĊĠĠĠ Ġparams . height Ġ= Ġheight ĊĠĠĠ Ġlayout Params Ġ= Ġparams ĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ /** Ċ Ġ* Ġè®¾ç½® View çļĦ margin Ċ Ġ* Ġ@ param Ġleft Margin Ġé»ĺè®¤ ä¿ĿçķĻ åİŁ æĿ¥çļĦ Ċ Ġ* Ġ@ param Ġtop Margin Ġé»ĺè®¤ æĺ¯ ä¿ĿçķĻ åİŁ æĿ¥çļĦ Ċ Ġ* Ġ@ param Ġright Margin Ġé»ĺè®¤ æĺ¯ ä¿ĿçķĻ åİŁ æĿ¥çļĦ Ċ Ġ* Ġ@ param Ġbottom Margin Ġé»ĺè®¤ æĺ¯ ä¿ĿçķĻ åİŁ æĿ¥çļĦ Ċ Ġ*/ Ċ fun ĠView . margin ( left Margin : ĠInt Ġ= ĠInt . MAX _ VALUE , Ġtop Margin : ĠInt Ġ= ĠInt . MAX _ VALUE , Ġright Margin : ĠInt Ġ= ĠInt . MAX _ VALUE , Ġbottom Margin : ĠInt Ġ= ĠInt . MAX _ VALUE ): ĠView Ġ{ ĊĠĠĠ Ġval Ġparams Ġ= Ġlayout Params Ġas ĠViewGroup . Margin LayoutParams ĊĠĠĠ Ġif Ġ( left Margin Ġ!= ĠInt . MAX _ VALUE ) ĊĠĠĠĠĠĠĠ Ġparams . left Margin Ġ= Ġleft Margin ĊĠĠĠ Ġif Ġ( top Margin Ġ!= ĠInt . MAX _ VALUE ) ĊĠĠĠĠĠĠĠ Ġparams . top Margin Ġ= Ġtop Margin ĊĠĠĠ Ġif Ġ( right Margin Ġ!= ĠInt . MAX _ VALUE ) ĊĠĠĠĠĠĠĠ Ġparams . right Margin Ġ= Ġright Margin ĊĠĠĠ Ġif Ġ( bottom Margin Ġ!= ĠInt . MAX _ VALUE ) ĊĠĠĠĠĠĠĠ Ġparams . bottom Margin Ġ= Ġbottom Margin ĊĠĠĠ Ġlayout Params Ġ= Ġparams ĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ /** Ċ Ġ* Ġè®¾ç½® å®½åº¦ ï¼Į å¸¦ æľī è¿ĩ æ¸ ¡ åĬ¨çĶ» Ċ Ġ* Ġ@ param Ġtarget Value Ġ çĽ®æłĩ å®½åº¦ Ċ Ġ* Ġ@ param Ġduration ĠæĹ¶ éķ¿ Ċ Ġ* Ġ@ param Ġaction Ġåı¯ éĢī è¡Įä¸º Ċ Ġ*/ Ċ fun ĠView . animate Width ( target Value : ĠInt , Ġduration : ĠLong Ġ= Ġ 4 0 0 , Ġlistener : ĠAn imator . Animator Listener ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction : Ġ(( Float ) Ġ-> ĠUnit )? Ġ= Ġnull ) Ġ{ ĊĠĠĠ Ġpost Ġ{ ĊĠĠĠĠĠĠĠ ĠValue Animator . of Int ( width , Ġtarget Value ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Update Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwidth ( it . animated Value Ġas ĠInt ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction ?. invoke (( it . animated Fraction )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( listener != null ) addListener ( listener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Duration ( duration ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* Ġè®¾ç½® é«ĺåº¦ ï¼Į å¸¦ æľī è¿ĩ æ¸ ¡ åĬ¨çĶ» Ċ Ġ* Ġ@ param Ġtarget Value Ġ çĽ®æłĩ é«ĺåº¦ Ċ Ġ* Ġ@ param Ġduration ĠæĹ¶ éķ¿ Ċ Ġ* Ġ@ param Ġaction Ġåı¯ éĢī è¡Įä¸º Ċ Ġ*/ Ċ fun ĠView . animate Height ( target Value : ĠInt , Ġduration : ĠLong Ġ= Ġ 4 0 0 , Ġlistener : ĠAn imator . Animator Listener ? Ġ= Ġnull , Ġaction : Ġ(( Float ) Ġ-> ĠUnit )? Ġ= Ġnull ) Ġ{ ĊĠĠĠ Ġpost Ġ{ ĊĠĠĠĠĠĠĠ ĠValue Animator . of Int ( height , Ġtarget Value ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Update Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheight ( it . animated Value Ġas ĠInt ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction ?. invoke (( it . animated Fraction )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( listener != null ) addListener ( listener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Duration ( duration ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* Ġè®¾ç½® å®½åº¦ åĴĮ é«ĺåº¦ ï¼Į å¸¦ æľī è¿ĩ æ¸ ¡ åĬ¨çĶ» Ċ Ġ* Ġ@ param Ġtarget Width Ġ çĽ®æłĩ å®½åº¦ Ċ Ġ* Ġ@ param Ġtarget Height Ġ çĽ®æłĩ é«ĺåº¦ Ċ Ġ* Ġ@ param Ġduration ĠæĹ¶ éķ¿ Ċ Ġ* Ġ@ param Ġaction Ġåı¯ éĢī è¡Įä¸º Ċ Ġ*/ Ċ fun ĠView . animate Width And Height ( target Width : ĠInt , Ġtarget Height : ĠInt , Ġduration : ĠLong Ġ= Ġ 4 0 0 , Ġlistener : ĠAn imator . Animator Listener ? Ġ= Ġnull , Ġaction : Ġ(( Float ) Ġ-> ĠUnit )? Ġ= Ġnull ) Ġ{ ĊĠĠĠ Ġpost Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstart Height Ġ= Ġheight ĊĠĠĠĠĠĠĠ Ġval Ġevaluator Ġ= ĠInt Evaluator () ĊĠĠĠĠĠĠĠ ĠValue Animator . of Int ( width , Ġtarget Width ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Update Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwidth And Height ( it . animated Value Ġas ĠInt , Ġevaluator . evaluate ( it . animated Fraction , Ġstart Height , Ġtarget Height )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction ?. invoke (( it . animated Fraction )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( listener != null ) addListener ( listener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Duration ( duration ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* Ġè®¾ç½® çĤ¹åĩ» çĽĳåĲ¬ , Ġ å¹¶ å®ŀçİ° äºĭä»¶ èĬĤ æµģ Ċ Ġ*/ Ċ var Ġ_ view Click Flag Ġ= Ġfalse Ċ var Ġ_ click Runnable Ġ= ĠRunnable Ġ{ Ġ_ view Click Flag Ġ= Ġfalse Ġ} Ċ fun ĠView . click ( action : Ġ( view : ĠView ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġset OnClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(!_ view Click Flag ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ view Click Flag Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġremove Callbacks (_ click Runnable ) ĊĠĠĠĠĠĠĠ Ġpost Delayed (_ click Runnable , Ġ 3 5 0 ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* Ġè®¾ç½® éķ¿ æĮī çĽĳåĲ¬ Ċ Ġ*/ Ċ fun ĠView . long Click ( action : Ġ( view : ĠView ) Ġ-> ĠBoolean ) Ġ{ ĊĠĠĠ Ġset On Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġaction ( it ) ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ /*** Ġåı¯ è§ģ æĢ§ çĽ¸åħ³ Ġ*** */ Ċ fun ĠView . g one () Ġ{ ĊĠĠĠ Ġvisibility Ġ= ĠView . GONE Ċ } Ċ Ċ fun ĠView . visible () Ġ{ ĊĠĠĠ Ġvisibility Ġ= ĠView . VISIBLE Ċ } Ċ Ċ fun ĠView . invisible () Ġ{ ĊĠĠĠ Ġvisibility Ġ= ĠView . IN VISIBLE Ċ } Ċ Ċ val ĠView . is G one : ĠBoolean ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisibility Ġ== ĠView . GONE ĊĠĠĠ Ġ} Ċ Ċ val ĠView . isVisible : ĠBoolean ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisibility Ġ== ĠView . VISIBLE ĊĠĠĠ Ġ} Ċ Ċ val ĠView . isIn visible : ĠBoolean ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisibility Ġ== ĠView . IN VISIBLE ĊĠĠĠ Ġ} Ċ Ċ /** Ċ Ġ* Ġ åĪĩæį¢ View çļĦ åı¯ è§ģ æĢ§ Ċ Ġ*/ Ċ fun ĠView . toggle Visibility () Ġ{ ĊĠĠĠ Ġvisibility Ġ= Ġif Ġ( visibility Ġ== ĠView . GONE ) ĠView . VISIBLE Ġelse ĠView . GONE Ċ } ĊĊ Ċ /** Ċ Ġ* Ġèİ·åıĸ View çļĦ æĪª åĽ¾ , ĠæĶ¯æĮģ èİ·åıĸ æķ´ä¸ª RecyclerView åĪĹè¡¨ çļĦ éķ¿ æĪª åĽ¾ Ċ Ġ* Ġ æ³¨æĦı ï¼ļ è°ĥçĶ¨ è¯¥ æĸ¹æ³ķ æĹ¶ ï¼Į è¯· ç¡® ä¿Ŀ View å·²ç»ı æµĭ éĩı å®Į æ¯ķ ï¼Į å¦Ĥæŀľ å®½ é«ĺ ä¸º 0 ï¼Į åĪĻ å°Ĩ æĬĽ åĩº å¼Ĥå¸¸ Ċ Ġ*/ Ċ fun ĠView . to Bitmap (): ĠBitmap Ġ{ ĊĠĠĠ Ġif Ġ( meas ured Width Ġ== Ġ 0 Ġ|| Ġmeasured Height Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" è°ĥçĶ¨ è¯¥ æĸ¹æ³ķ æĹ¶ ï¼Į è¯· ç¡® ä¿Ŀ View å·²ç»ı æµĭ éĩı å®Į æ¯ķ ï¼Į å¦Ĥæŀľ å®½ é«ĺ ä¸º 0 ï¼Į åĪĻ æĬĽ åĩº å¼Ĥå¸¸ ä»¥ æıĲ é ĨĴ ï¼ģ ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠRecyclerView Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . scrollTo Position ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . measure ( View . Measure Spec . make Measure Spec ( width , ĠView . Measure Spec . EX ACT LY ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView . Measure Spec . make Measure Spec ( 0 , ĠView . Measure Spec . UNSPECIFIED )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbmp Ġ= ĠBitmap . create Bitmap ( width , Ġmeasured Height , ĠBitmap . Config . ARGB _ 8 8 8 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcanvas Ġ= ĠCanvas ( bmp ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// draw Ġdefault Ġbg , Ġotherwise Ġwill Ġbe Ġblack ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( background Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbackground . setBounds ( 0 , Ġ 0 , Ġwidth , Ġmeasured Height ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbackground . draw ( canvas ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Color ( Color . WHITE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . draw ( canvas ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// æģ ¢å¤į é«ĺåº¦ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . measure ( View . Measure Spec . make Measure Spec ( width , ĠView . Measure Spec . EX ACT LY ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView . Measure Spec . make Measure Spec ( height , ĠView . Measure Spec . AT _ MO ST )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbmp Ġ// return ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscreenshot Ġ= ĠBitmap . create Bitmap ( meas ured Width , Ġmeasured Height , ĠBitmap . Config . ARGB _ 4 4 4 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcanvas Ġ= ĠCanvas ( screenshot ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( background Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbackground . setBounds ( 0 , Ġ 0 , Ġwidth , Ġmeasured Height ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbackground . draw ( canvas ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Color ( Color . WHITE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdraw ( canvas )// Ġå°Ĩ Ġview Ġ çĶ» åĪ° çĶ» å¸ĥ ä¸Ĭ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscreenshot Ġ// return ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ // Ġ æīĢæľī åŃĲ View Ċ inline Ġval ĠViewGroup . children ĊĠĠĠ Ġget () Ġ= Ġ( 0 Ġuntil Ġchild Count ). map Ġ{ Ġget Child At ( it ) Ġ} Ċ