package Ġaf kt . project . feature . ui _ effect . re cy _ adapter . pager _ snap Ċ Ċ import Ġaf kt . project . R Ċ import Ġaf kt . project . databinding . Adapter Pager Snap Binding Ċ import Ġaf kt . project . model . bean . Item Bean Ċ import Ġaf kt _ replace . core . lib . utils . image . IMAGE _ ROUND _ 1 0 Ċ import Ġaf kt _ replace . core . lib . utils . image . to Image Config Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . databinding . Binding Adapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġdev . adapter . Dev Data Adapter Ċ import Ġdev . base . adapter . Dev Base ViewData Binding VH Ċ import Ġdev . engine . Dev Engine Ċ Ċ /** Ċ Ġ* Ġdetail : ĠRecyclerView ĠGallery Ġ æķĪæŀľ ĠAdapter Ċ Ġ* Ġ@ author ĠT tt Ċ Ġ*/ Ċ class ĠP ager Snap MAX Adapter ( data : ĠList < Item Bean >) Ġ: ĠDev Data Adapter < Item Bean , ĠRecyclerView . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġset DataList ( data , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ çľŁ å®ŀ ç´¢å¼ķ ĊĠĠĠĠ Ġ* Ġ@ param Ġposition Ġå½ĵåīį ç´¢å¼ķ ĊĠĠĠĠ Ġ* Ġ@ return ĠData Ġ çľŁ å®ŀ ç´¢å¼ķ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Real Index ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġdata Size ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( size Ġ!= Ġ 0 ) Ġposition Ġ% Ġsize Ġelse Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠInt . MAX _ VALUE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( ĊĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠ Ġview Type : ĠInt ĊĠĠĠ Ġ): ĠRecyclerView . ViewHolder Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġholder : ĠDev Base ViewData Binding VH < Adapter Pager Snap Binding > Ġ= Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠnewData Binding ViewHolder ( parent , ĠR . layout . adapter _ pager _ snap ) Ċ // ĠĠĠĠĠĠĠ Ġreturn Ġholder ĊĠĠĠĠĠĠĠ Ġval Ġholder : ĠDev Base ViewData Binding VH < Adapter Pager Snap Binding > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDev Base ViewData Binding VH . create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĠR . layout . adapter _ pager _ snap ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġholder ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( ĊĠĠĠĠĠĠĠ ĠviewHolder : ĠRecyclerView . ViewHolder , ĊĠĠĠĠĠĠĠ Ġposition : ĠInt ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġdata Size ĊĠĠĠĠĠĠĠ Ġif Ġ( size Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġholder Ġ= ĠviewHolder Ġas ĠDev Base ViewData Binding VH < Adapter Pager Snap Binding > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġindex Ġ= Ġposition Ġ% Ġsize ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . binding . page Ġ= Ġ"$ position Ġ- Ġ$ index " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . binding . item Ġ= ĠgetData Item ( index ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġ@ Binding Adapter (" imageUrl ") ĊĠĠĠĠĠĠĠ Ġfun Ġbind ImageUrl ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview : ĠImageView ?, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠimageUrl : ĠString ? ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDev Engine . getImage ()?. display ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview , ĠimageUrl , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIMAGE _ ROUND _ 1 0 . to Image Config () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }