package Ġcom . d jc . kotlin . g irl . module . home . preview čĊč Ċ import Ġandroid . app . Activity č Ċ import Ġandroid . content . Intent č Ċ import Ġandroid . graphics . Color č Ċ import Ġandroid . support . v 4 . view . Pager Adapter č Ċ import Ġandroid . util . Log č Ċ import Ġandroid . view . Gravity č Ċ import Ġandroid . view . LayoutInflater č Ċ import Ġandroid . view . View č Ċ import Ġandroid . view . ViewGroup č Ċ import Ġcom . d jc . kotlin . g irl . Base A ty č Ċ import Ġcom . d jc . kotlin . g irl . G lide App č Ċ import Ġcom . d jc . kotlin . g irl . R č Ċ import Ġcom . d jc . kotlin . g irl . widget . Img Popup window č Ċ import Ġcom . d jc . kotlin . g irl . widget . Photo ViewPager č Ċ import Ġcom . github . chr is ban es . photo view . Photo View č Ċ import Ġcom . or h ano but . logger . Logger čĊč Ċ /** čĊ Ġ* Ġ@ author Ġd ong čĊ Ġ* Ġ@ date Ġ 2 0 1 7 / 1 2 / 5 Ġ 1 0 : 3 8 čĊ Ġ* Ġ@ description Ġ åĽ¾çīĩ é¢Ħ è§Ī čĊ Ġ*/ č Ċ class ĠPreview A ty Ġ: ĠBase A ty () Ġ{ čĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm ViewPager : ĠPhoto ViewPager čĊĠĠĠ Ġprivate Ġvar Ġpos Ġ= Ġ 0 čĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġimg List : ĠList < String > čĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Adapter : ĠAdapter čĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Pop : ĠImg Popup window čĊĠĠĠ Ġoverride Ġfun Ġget Layout Id (): ĠInt Ġ= ĠR . layout . activity _ preview čĊčĊĠĠĠ Ġoverride Ġfun Ġinit Views () Ġ{ čĊĠĠĠĠĠĠĠ Ġ// è®¾ç½® åħ¨ å±ı čĊĠĠĠĠĠĠĠ Ġval Ġoption : ĠInt Ġ= ĠView . SYSTEM _ UI _ FLAG _ FULL SCREEN čĊĠĠĠĠĠĠĠ Ġwindow . decor View . system Ui Visibility Ġ= Ġoption čĊĠĠĠĠĠĠĠ Ġwindow . status Bar Color Ġ= ĠColor . BLACK čĊĠĠĠĠĠĠĠ Ġ// æİ¥æĶ¶ åĽ¾çīĩ čĊĠĠĠĠĠĠĠ Ġpos Ġ= Ġintent . getInt Extra (" pos ", Ġ 0 ) čĊĠĠĠĠĠĠĠ Ġimg List Ġ= Ġintent . getString ArrayList Extra (" img List ") čĊĠĠĠĠĠĠĠ Ġ// åħ³èģĶ éĢĤ éħį åĻ¨ čĊĠĠĠĠĠĠĠ Ġm Adapter Ġ= ĠAdapter () čĊĠĠĠĠĠĠĠ Ġm ViewPager Ġ= ĠfindViewById ( R . id . pic _ vp ) čĊĠĠĠĠĠĠĠ Ġm ViewPager . adapter Ġ= Ġm Adapter čĊĠĠĠĠĠĠĠ Ġ// æĺ¾ç¤º å½ĵåīį çļĦ åĽ¾çīĩ čĊĠĠĠĠĠĠĠ Ġm ViewPager . currentItem Ġ= Ġpos čĊčĊĠĠĠĠĠĠĠ Ġ// è®¾ç½® pop čĊĠĠĠĠĠĠĠ Ġm Pop Ġ= ĠImg Popup window ( this ) čĊĠĠĠ Ġ} čĊčĊčĊĠĠĠ Ġinner Ġclass ĠAdapter Ġ: ĠP ager Adapter () Ġ{ čĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġis View From Object ( view : ĠView ?, Ġ` object `: ĠAny ?): ĠBoolean Ġ= Ġview Ġ=== Ġ` object ` čĊčĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ= Ġimg List . size čĊčĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġinstantiate Item ( container : ĠViewGroup ?, Ġposition : ĠInt ): ĠAny Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġimg List [ position ] čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( this @ Preview A ty ). inflate ( R . layout . item _ preview čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġcontainer , Ġfalse ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġphoto View Ġ= Ġview . findViewById < Photo View >( R . id . photo _ view ) čĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide App . with ( this @ Preview A ty ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( url ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( photo View ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer ?. addView ( view ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// éķ¿ æĮī åĽ¾çīĩ å¼¹ åĩº ä¸ĭè½½ ï¼Į åĪĨäº« æ³ ¡ æ³ ¡ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġphoto View . setOn Long ClickListener Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Pop . show At Location ( findViewById ( R . id . root ), ĠGr avity . BOTTOM , Ġ 0 , Ġ 0 ) čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ setOn Long ClickListener Ġtrue čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġview čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdestroy Item ( container : ĠViewGroup ?, Ġposition : ĠInt , Ġ` object `: ĠAny ?) Ġ{ č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . destroy Item ( container , Ġposition , Ġ` object `) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer ?. remove View (` object ` Ġas ĠView ?) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġon Restart () Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . on Restart () čĊĠĠĠĠĠĠĠ Ġwindow . decor View . system Ui Visibility Ġ= ĠView . SYSTEM _ UI _ FLAG _ FULL SCREEN čĊĠĠĠĠĠĠĠ Ġwindow . status Bar Color Ġ= ĠColor . BLACK čĊĠĠĠĠĠĠĠ ĠLog . d (" life âĢĶ cycle ", Ġ" on Restart ") čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġfinish After Transition () Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . finish After Transition () čĊĠĠĠĠĠĠĠ Ġval Ġi Ġ= ĠIntent () čĊĠĠĠĠĠĠĠ Ġi . putExtra (" index ", Ġm ViewPager . currentItem ) čĊĠĠĠĠĠĠĠ Ġ// åĮº åĪĨ è¿ĶåĽŀ è¿ĺæĺ¯ è¿Ľåħ¥ čĊĠĠĠĠĠĠĠ Ġi . putExtra (" is Back ", Ġtrue ) čĊĠĠĠĠĠĠĠ ĠLogger . d ("${ m ViewPager . currentItem }") čĊĠĠĠĠĠĠĠ Ġset Result ( Activity . RESULT _ OK , Ġi ) čĊĠĠĠ Ġ} čĊč Ċ }