package Ġcom . ml s dev . android animations Ċ Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . ml s dev . android animations . library . Animation Params Ċ import Ġcom . ml s dev . android animations . library . Animation Utils Ċ import Ġcom . ml s dev . android animations . library . Base View Anim Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġanimation View : ĠView ĊĠĠĠ Ġprivate Ġvar Ġanimation : ĠBase View Anim ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġanimation View Ġ= ĠfindViewById ( R . id . hello _ world ) ĊĠĠĠĠĠĠĠ Ġval Ġre cyclerView Ġ= ĠfindViewById < RecyclerView >( R . id . recycler _ view ) ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠRecyclerView Adapter (:: on Item Click ) ĊĠĠĠĠĠĠĠ Ġwith ( re cyclerView ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( this @ MainActivity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Has Fixed Size ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Item Click ( item : ĠString ){ ĊĠĠĠĠĠĠĠ Ġval Ġanimation Params Ġ= ĠAnimation Params ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat Times Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġduration Ġ= Ġ 1 0 0 0 L ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġanimation ?. cancel () ĊĠĠĠĠĠĠĠ Ġanimation Ġ= ĠAnimation Utils . get Animation ( item , Ġanimation View , Ġanimation Params ) ĊĠĠĠĠĠĠĠ Ġanimation ?. start () ĊĠĠĠ Ġ} Ċ } Ċ