/* ĠThis ĠSource ĠCode ĠForm Ġis Ġsubject Ġto Ġthe Ġterms Ġof Ġthe ĠMozilla ĠPublic Ċ Ġ* ĠLicense , Ġv . Ġ 2 . 0 . ĠIf Ġa Ġcopy Ġof Ġthe ĠM PL Ġwas Ġnot Ġdistributed Ġwith Ġthis Ċ Ġ* Ġfile , ĠYou Ġcan Ġobtain Ġone Ġat Ġhttp :// mozilla . org / MPL / 2 . 0 /. Ġ*/ Ċ Ċ package Ġxyz . m come lla . animation overview . transition Ċ Ċ import Ġandroid . animation . Animator Ċ import Ġandroid . animation . Animator Set Ċ import Ġandroid . animation . Object Animator Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . annotation . Requires Api Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . transition . Auto Transition Ċ import Ġandroid . transition . Explo de Ċ import Ġandroid . transition . Fade Ċ import Ġandroid . transition . Scene Ċ import Ġandroid . transition . Transition Manager Ċ import Ġandroid . transition . Transition Set Ċ import Ġandroid . transition . Transition Values Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . view . animation . Accel erate De cel erate Interpolator Ċ import Ġkotlinx . android . synt hetic . main . activity _ transition .* Ċ import Ġkotlinx . android . synt hetic . main . scene _ transition _ start .* Ċ import Ġxyz . m come lla . animation overview . R Ċ Ċ private Ġconst Ġval ĠBUTTON _ FA DE _ OUT _ M ILL IS Ġ= Ġ 6 0 0 L Ċ private Ġconst Ġval ĠTEXT _ FA DE _ IN _ M ILL IS Ġ= Ġ 8 0 0 L Ċ Ċ /** ĠPer centage Ġof Ġthe Ġbanner Ġanimation Ġthat Ġwill Ġpass Ġbefore Ġthe Ġtext Ġshould Ġstart . Ġ*/ Ċ private Ġconst Ġval ĠTEXT _ START _ PERCENT Ġ= Ġ 0 . 7 0 Ċ Ċ private Ġval ĠINTER POL ATOR Ġ= ĠAccel erate De cel erate Interpolator () Ċ Ċ /** Ċ Ġ* ĠActivity Ġto Ġtest Ġout Ġmaking Ġtransitions . Ċ Ġ* Ċ Ġ* ĠLearning s : Ċ Ġ* Ġ- ĠProvides Ġan ĠAPI Ġto Ġrecreate Ġre - usable Ġgeneric Ġtransitions . Ċ Ġ* Ġ- ĠSeems Ġmuch Ġmore Ġverbose Ġthan Ġjust Ġanim ating Ġin Ġcode Ġif Ġyour Ġanimations Ġare Ġspecific Ġto Ġyour Ċ Ġ* Ġviews Ġthough Ġperhaps Ġthere Ġare Ġbenefits Ġ( e . g . Ġcancell ing ?). Ċ Ġ* Ċ Ġ* ĠQuestions : Ċ Ġ* Ġ- ĠWhat Ġis Ġthe Ġintended Ġway Ġto Ġwrite Ġtransitions Ġthat Ġare Ġspecific Ġto Ġviews ? ĠThat Ġhave Ġstart Ġoffsets ? Ċ Ġ* ĠPerhaps Ġusing ĠTransition Set ? Ċ Ġ*/ Ċ @ Requires Api ( Build . VERSION _ CODES . LO L LI POP ) Ċ class ĠTransition With Set Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ transition ) ĊĊĠĠĠĠĠĠĠ Ġanimate Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġend Scene Ġ= ĠScene . get Scene For Layout ( container , ĠR . layout . scene _ transition _ end , Ġthis ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġanimate Button Transition Ġ= ĠF ade (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Target ( animate Button ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġother Transition Ġ= ĠAuto Transition (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexclude Target ( animate Button , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġset Ġ= ĠTransition Set (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Transition ( animate Button Transition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Transition ( other Transition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠTransition Manager . go ( end Scene , Ġset ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }