package Ġcom . yy . mobile . sl id able layout Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 4 . app . FragmentManager Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . yy . mobile . widget . Sl id able UI Ċ import Ġcom . yy . mobile . widget . Slide Adapter Ċ import Ġcom . yy . mobile . widget . Slide Direction Ċ import Ġcom . yy . mobile . widget . Slide Fragment Adapter Ċ import Ġcom . yy . mobile . widget . Slide ViewHolder Ċ import Ġkotlinx . android . synt hetic . main . page _ main _ content .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġ å¼ł å® ĩ Ġon Ġ 2 0 1 9 / 4 / 1 5 . Ċ Ġ* ĠE - mail : Ġz hang yu 4 @ yy . com Ċ Ġ* ĠYY : Ġ 9 0 9 0 1 7 4 2 8 Ċ Ġ*/ Ċ open Ġclass ĠDemo For Fragment Ġ: ĠBase Demo Activity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Adapter ( data : ĠSimple Queue < Page Info >): ĠSlide Adapter < out ĠSlide ViewHolder > Ġ= ĊĠĠĠĠĠĠĠ ĠFragment Adapter ( data , Ġsupport FragmentManager ) ĊĊĠĠĠ Ġprivate Ġclass ĠFragment Adapter ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġdata : ĠSimple Queue < Page Info >, Ġfm : ĠFragment Manager ĊĠĠĠ Ġ) Ġ: ĠSlide Fragment Adapter ( fm ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonCreate Fragment ( context : ĠContext ): ĠFragment Ġ= ĠDemo Fragment () ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Bind Fragment ( fragment : ĠFragment , Ġdirection : ĠSlide Direction ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Bind Fragment ( fragment , Ġdirection ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( fragment Ġas ĠDemo Fragment ). setCurrent Data ( getData ( direction ) !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcan Slide To ( direction : ĠSlide Direction ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠgetData ( direction ) Ġ!= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġfinish Slide ( direction : ĠSlide Direction ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( direction Ġ== ĠSlide Direction . Next ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . moveTo Next () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( direction Ġ== ĠSlide Direction . Prev ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . moveTo Prev () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun ĠgetData ( direction : ĠSlide Direction ): ĠPage Info ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( direction Ġ== ĠSlide Direction . Next ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . next () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( direction Ġ== ĠSlide Direction . Prev ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . prev () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . current () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠDemo Fragment Ġ: ĠFragment (), ĠSl id able UI Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġcurrent Info : ĠPage Info ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress Lint (" Inf late Params ") ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . page _ main _ content , Ġnull , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun ĠsetCurrent Data ( data : ĠPage Info ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Info Ġ= Ġdata ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġstart Visible ( direction : ĠSlide Direction ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Info ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent _ title . text Ġ= Ġit . title ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent _ player . setImage Drawable ( null ) Ġ// should Ġbe Ġsnapshot ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent _ player . set Gif Resource ( it . drawable Res ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcomplete Visible ( direction : ĠSlide Direction ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent _ player . setTag ( R . id . complete Visible , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent _ player . start Animation () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġinvisible ( direction : ĠSlide Direction ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// clean Ġup Ġresource ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent _ player . setImage Drawable ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent _ player . setTag ( R . id . complete Visible , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Sl id able Layout ", Ġ" onCreate ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Hidden Changed ( hidden : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Hidden Changed ( hidden ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Sl id able Layout ", Ġ" on Hidden Changed Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ if Ġ( hidden ) Ġ" -> hidden " Ġelse Ġ" -> show "} Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ current Info ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Sl id able Layout ", Ġ" on Resume ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Stop () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Stop () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Sl id able Layout ", Ġ" on Stop ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Sl id able Layout ", Ġ" on Destroy ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠsetUser Visible Hint ( isVisible To User : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . setUser Visible Hint ( isVisible To User ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Sl id able Layout ", Ġ" setUser Visible Hint Ġis Visible Ġ= Ġ$ isVisible To User Ġ$ current Info ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }