package Ġcom . example . android _ study . ui _ custom . anim . view Group _ anim Ċ Ċ import Ġandroid . animation .* Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . view . ViewGroup . LayoutParams . WRAP _ CONTENT Ċ import Ġandroid . view . animation . Bo unce Interpolator Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . LinearLayout Ċ import Ġcom . example . android _ study . R Ċ import Ġcom . example . android _ study ._ base . Base Fragment Ċ import Ġkotlinx . android . synt hetic . main . fragment _ u _ i _ anim _ view _ group _ layout _ transit on .* Ċ Ċ class ĠU ILayout Transition Fragment Ġ: ĠBase Fragment () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ u _ i _ anim _ view _ group _ layout _ transit on , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġval Ġholder Ġ= ĠProperty Values Holder . of Float (" rotation X ", Ġ 0 f , Ġ 3 6 0 f ) ĊĠĠĠĠĠĠĠ Ġval Ġholder 1 Ġ= ĠProperty Values Holder . of Float (" scale X ", Ġ 0 . 5 f , Ġ 1 f ) ĊĠĠĠĠĠĠĠ Ġval Ġholder 2 Ġ= ĠProperty Values Holder . of Float (" scale Y ", Ġ 0 . 5 f , Ġ 1 f ) ĊĠĠĠĠĠĠĠ Ġval Ġanim Ġ= ĠObject Animator . of Property Values Holder ("", Ġholder , Ġholder 1 , Ġholder 2 ) ĊĠĠĠĠĠĠĠ Ġval Ġanim 1 Ġ= ĠObject Animator . of Float ("", Ġ" translation X ", Ġ 0 f , Ġ 1 8 0 f ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinterpol ator Ġ= ĠBo unce Interpolator () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġval Ġtransition Ġ= ĠLayout Transition (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Animator ( Layout Transition . AP PE AR ING , Ġanim ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Animator ( Layout Transition . DIS AP PE AR ING , Ġanim 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġll . layout Transition Ġ= Ġtransition ĊĊĠĠĠĠĠĠĠ Ġbtn Add . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimg Ġ= ĠImageView ( require Context ()). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Params Ġ= ĠLinearLayout . LayoutParams ( WRAP _ CONTENT , ĠWR AP _ CONTENT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Image Resource ( R . mip map . ic _ launcher _ round ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġll . addView ( img , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn Minus . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ll . child Count Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġll . remove View At ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }