package Ġcom . yj . constraint layout 2 0 . layer Ċ Ċ import Ġandroid . animation . Value Animator Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . yj . constraint layout 2 0 . R Ċ import Ġkotlinx . android . synt hetic . main . activity _ layer .* Ċ Ċ class ĠLayer Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ layer ) ĊĠĠĠĠĠĠĠ Ġbutton 6 . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Animator Ġ= ĠValue Animator . of Float ( 0 F , Ġ 3 6 0 F ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Animator . duration Ġ= Ġ 3 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Animator . add Update Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġit . animated Value Ġas ĠFloat ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer . rotation Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer . scale X Ġ= Ġ 1 Ġ+ Ġ( 1 8 0 Ġ- ĠMath . abs ( value Ġ- Ġ 1 8 0 )) Ġ/ Ġ 2 0 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer . scale Y Ġ= Ġ 1 Ġ+ Ġ( 1 8 0 Ġ- ĠMath . abs ( value Ġ- Ġ 1 8 0 )) Ġ/ Ġ 2 0 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġshift _ x Ġ= Ġ 5 0 0 Ġ* ĠMath . sin ( Math . to Radians (( value Ġ* Ġ 5 ). toDouble ())). toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġshift _ y Ġ= Ġ 5 0 0 Ġ* ĠMath . sin ( Math . to Radians (( value Ġ* Ġ 7 ). toDouble ())). toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer . translation X Ġ= Ġshift _ x ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer . translation Y Ġ= Ġshift _ y ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Animator . duration Ġ= Ġ 4 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Animator . start () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ } Ċ