package Ġdev . k xx cn . mar u . view . on board Ċ Ċ import Ġandroidx . databinding . Binding Adapter Ċ import Ġandroidx . databinding . Inverse Binding Adapter Ċ import Ġandroidx . databinding . Inverse Binding Listener Ċ import Ġandroidx . view pager . widget . ViewPager Ċ import Ġcom . air bnb . lott ie . Lot tie Animation View Ċ Ċ @ Binding Adapter (" app : pager Position ") Ċ fun Ġset Pager Position ( view : ĠView Pager , Ġposition : ĠInt ) Ġ{ ĊĠĠĠ Ġview . currentItem Ġ= Ġposition Ċ } Ċ Ċ @ Inverse Binding Adapter ( attribute Ġ= Ġ" app : pager Position ", Ġevent Ġ= Ġ" app : pager Attr Changed ") Ċ fun Ġget Pager Position ( view : ĠView Pager ): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġview . currentItem Ċ } Ċ Ċ @ Binding Adapter (" app : pager Attr Changed ") Ċ fun Ġset Pager Listener ( view : ĠView Pager , Ġlistener : ĠIn verse Binding Listener ?) Ġ{ ĊĠĠĠ Ġview . add On Page ChangeListener ( object Ġ: ĠView Pager . On Page ChangeListener Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Page Scroll StateChanged ( state : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Page Sc rolled ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġposition : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġposition Offset : ĠFloat , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġposition Offset Pixels : ĠInt ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Page Selected ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener ?. onChange () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}) Ċ } Ċ Ċ @ Binding Adapter (" app : lott ie ") Ċ fun Ġset Lot tie ( view : ĠL ot tie Animation View , ĠfileName : ĠString ) Ġ{ ĊĠĠĠ Ġview . set Animation ( fileName ) Ċ } Ċ