package Ġcom . coding night . example . view pager Ċ Ċ import Ġandroid . animation . Object Animator Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . coding night . example . view pager . databinding . Third Fragment Binding Ċ import Ġjava . util .* Ċ Ċ class ĠThird Fragment Ġ: ĠFragment () Ġ{ ĊĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠThird Fragment Binding ĊĠĠĠ Ġprivate Ġvar Ġm ViewModel : ĠThird ViewModel ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠThird Fragment Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġm ViewModel Ġ= ĠViewModel Provider ( require Activity ()). get ( Third ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġval ĠimageView Ġ= Ġbinding . imageView ĊĠĠĠĠĠĠĠ ĠimageView . x Ġ= ĠimageView . x Ġ+ Ġm ViewModel !!. dX ĊĠĠĠĠĠĠĠ Ġval Ġobject Animator Ġ= ĠObject Animator . of Float ( imageView , Ġ" x ", Ġ 0 f , Ġ 0 f ) ĊĠĠĠĠĠĠĠ Ġobject Animator . duration Ġ= Ġ 5 0 0 ĊĠĠĠĠĠĠĠ ĠimageView . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! object Animator . isRunning ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdx : ĠFloat Ġ= Ġif Ġ( Random (). next Boolean ()) Ġ 1 0 0 F Ġelse Ġ(- 1 0 0 ). toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Animator . set Float Values ( imageView . x , ĠimageView . x Ġ+ Ġdx ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm ViewModel !!. dX Ġ+= Ġdx ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Animator . start () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance (): ĠThird Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠThird Fragment () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }