package Ġme . sun hap per . sp ch ared it tool . ui Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . text . Sp ann able String Ċ import Ġandroid . text . Sp ann able StringBuilder Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġcom . sun hap per . glide . drawable . Drawable Target Ċ import Ġcom . sun hap per . x . sp edit . create Resize Gif Drawable Span Ċ import Ġcom . sun hap per . x . sp edit . gif . drawable . Proxy Drawable Ċ import Ġkotlinx . android . synt hetic . main . activity _ recycler _ demo .* Ċ import Ġme . sun hap per . sp ch ared it tool . G lide App Ċ import Ġme . sun hap per . sp ch ared it tool . R Ċ import Ġpl . d roid son roid s . gif . Gif Drawable Ċ import Ġjava . io . IOException Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġsun ha Ġon Ġ 2 0 1 8 / 2 / 7 Ġ 0 0 0 7 . Ċ Ġ*/ Ċ Ċ class ĠRe cycler G lide Demo Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġchar Sequences Ġ= ĠArrayList < CharSequence >() ĊĠĠĠ Ġprivate Ġval Ġadapter Ġ= ĠAdapter () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ recycler _ demo ) ĊĠĠĠĠĠĠĠ Ġgif _ re cyclerView . layout Manager Ġ= ĠLinearLayoutManager ( this ) ĊĠĠĠĠĠĠĠ Ġgif _ re cyclerView . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. 9 9 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgif Drawable : ĠG if Drawable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgif Drawable Ġ= ĠG if Drawable ( resources , ĠR . drawable . a ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproxy Drawable Ġ= ĠProxy Drawable () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide App . with ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" http :// 5 b 0 9 8 8 e 5 9 5 2 2 5 . cdn . so h ucs . com / images / 2 0 1 7 0 9 1 9 / 1 ce 5 d 4 c 5 2 c 2 4 4 3 2 e 9 3 0 4 ef 9 4 2 b 7 6 4 d 3 7 " Ġ+ Ġ". gif ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( gif Drawable ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( Drawable Target ( proxy Drawable )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsp ann able StringBuilder Ġ= ĠSp ann able StringBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsp ann able Ġ= Ġcreate Resize Gif Drawable Span ( proxy Drawable , Ġ"[ c ]") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsp ann able StringBuilder . append ( span nable ). append ( i . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchar Sequences . add ( Sp ann able String ( span nable StringBuilder )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġadapter . notify DataSet Changed () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġinner Ġclass ĠAdapter Ġ: ĠRecyclerView . Adapter < ViewHolder >() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . layout _ recycler _ glide _ demo , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( view ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchar Sequence Ġ= Ġchar Sequences [ position ] ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i ( TAG , Ġ" on Bind ViewHolder : start $ position ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( position Ġ== Ġ 8 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i ( TAG , Ġ" on Bind ViewHolder : Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . textView . text Ġ= Ġchar Sequence ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠ ĠG if Text Util . setText With Re use Drawable ( holder . textView , Ġchar Sequence , Ġfalse ); ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i ( TAG , Ġ" on Bind ViewHolder : Ġ Ġend $ position ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġchar Sequences . size ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġinternal Ġinner Ġclass ĠViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġvar ĠtextView : ĠTextView Ġ= ĠitemView . findViewById ( R . id . textView ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" Recycler Demo Activity " ĊĠĠĠ Ġ} Ċ Ċ } Ċ