package Ġcom . on erous . kotlin . se ew hat . detail Activity Ċ Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . transition . Fade Ċ import Ġandroid . transition . Slide Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . Window Ċ import Ġandroid . webkit . Web Settings Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . load . engine . Disk Cache Strategy Ċ import Ġcom . on erous . kotlin . se ew hat . R Ċ import Ġcom . on erous . kotlin . se ew hat . api . ApiService Ċ import Ġcom . on erous . kotlin . se ew hat . data . Z hi hu Story Detail Bean Ċ import Ġcom . on erous . kotlin . se ew hat . util . Html Util Ċ import Ġcom . or h ano but . logger . Logger Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ import Ġkotlinx . android . synt hetic . main . activity _ zhihu _ story _ detail .* Ċ import Ġkotlinx . android . synt hetic . main . content _ zhihu _ story _ detail .* Ċ Ċ class ĠZ hi hu Story Detail Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ zhihu _ story _ detail ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Home As Up Enabled ( true );// è®¾ç½® toolbar è¿ĶåĽŀ éĶ® ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġval Ġbundle : ĠBundle Ġ= Ġintent . get Bundle Extra (" story ") ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. title Ġ= Ġbundle . getString (" story Title ") ĊĊĠĠĠĠĠĠĠ Ġval Ġsettings Ġ= Ġw v _ content . get Settings () ĊĠĠĠĠĠĠĠ Ġsettings . set JavaScript Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġsettings . set Load With Overview Mode ( true ) ĊĠĠĠĠĠĠĠ Ġsettings . setLayout Algorithm ( Web Settings . Layout Algorithm . SINGLE _ COLUMN ) ĊĠĠĠĠĠĠĠ Ġsettings . set Support Zoom ( true ) ĊĠĠĠĠĠĠĠ Ġget Story Content ( bundle . getInt (" story Id ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( item . getItem Id () Ġ== Ġandroid . R . id . home ) Ġ{// åĵįåºĶ toolbar è¿ĶåĽŀ éĶ® ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Back Pressed (); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ; ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Story Content ( story Id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠApi Service . zhi Hu Service ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Story Content ( story Id ). subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ Ġit Ġ-> Ġshow Content ( it ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġerror Ġ-> ĠLogger . e ( error . toString ()) Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Content ( story Content Bean : ĠZ hi hu Story Detail Bean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġimg Url Ġ= Ġstory Content Bean . image ĊĠĠĠĠĠĠĠ ĠG lide . with ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( img Url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. center Crop () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. disk Cache Strategy ( Disk Cache Strategy . RESULT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( i V _ zhi h ust ory _ header _ image ) ĊĠĠĠĠĠĠĠ Ġtv _ zhi h ust ory _ header _ title . setText ( story Content Bean . title ) ĊĠĠĠĠĠĠĠ Ġtv _ zhi h ust ory _ header _ copyright . setText ( story Content Bean . image _ source ) ĊĠĠĠĠĠĠĠ Ġval Ġhtml Data Ġ= ĠHtml Util . create Html Data ( story Content Bean . body , Ġstory Content Bean . css , Ġstory Content Bean . js ) ĊĠĠĠĠĠĠĠ Ġw v _ content . load Data ( html Data , ĠHtml Util . MIME _ TYPE , ĠHtml Util . ENCODING ) ĊĠĠĠ Ġ} Ċ } Ċ