package Ġnl . ap pt Ċ Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . FragmentManager Ċ import Ġandroidx . fragment . app . Fragment Pager Adapter Ċ import Ġandroidx . view pager . widget . ViewPager Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġnl . ap pt . accessibility . Accessibility Ċ import Ġnl . ap pt . accessibility . is Talk Back Enabled Ċ import Ġnl . ap pt . helpers . Events Ċ import Ġnl . ap pt . tabs . home . Home Fragment Ċ import Ġnl . ap pt . tabs . knowledge . Knowledge Fragment Ċ import Ġnl . ap pt . tabs . more . More Fragment Ċ import Ġnl . ap pt . tabs . news . News Fragment Ċ import Ġnl . ap pt . tabs . services . Services Fragment Ċ import Ġnl . ap pt . widgets . Base Activity Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠJan ĠJ a ap Ġde ĠG root Ġon Ġ 1 2 / 1 0 / 2 0 2 0 Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠSt icht ing ĠAp pt Ċ Ġ*/ Ċ class ĠMainActivity Ġ: ĠBase Activity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġtabs Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ ĠR . id . tab _ home , ĊĠĠĠĠĠĠĠ ĠR . id . tab _ knowledge , ĊĠĠĠĠĠĠĠ ĠR . id . tab _ news , ĊĠĠĠĠĠĠĠ ĠR . id . tab _ services , ĊĠĠĠĠĠĠĠ ĠR . id . tab _ more ĊĠĠĠ Ġ) ĊĠĠĠ Ġprivate Ġval Ġfragments Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ ĠHome Fragment (), ĊĠĠĠĠĠĠĠ ĠKnowledge Fragment (), ĊĠĠĠĠĠĠĠ ĠNews Fragment (), ĊĠĠĠĠĠĠĠ ĠServices Fragment (), ĊĠĠĠĠĠĠĠ ĠMore Fragment () ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Id (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . activity _ main ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created () Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . title Ġ= Ġ"" ĊĊĠĠĠĠĠĠĠ Ġevents . property ( Events . Property . talk back , ĠAccessibility . is Talk Back Enabled ( this )) ĊĊĠĠĠĠĠĠĠ Ġ// ĠTab Ġadapter ĊĠĠĠĠĠĠĠ Ġval Ġtab Adapter Ġ= ĠTab Pager Adapter ( support FragmentManager , Ġfragments ) ĊĠĠĠĠĠĠĠ Ġview Pager . currentItem Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġview Pager . off screen Page Limit Ġ= Ġtabs . size ĊĠĠĠĠĠĠĠ Ġview Pager . adapter Ġ= Ġtab Adapter ĊĠĠĠĠĠĠĠ Ġview Pager . add On Page ChangeListener ( object Ġ: ĠView Pager . On Page ChangeListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Page Scroll StateChanged ( state : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIgnore d ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Page Sc rolled ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġposition : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġposition Offset : ĠFloat , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġposition Offset Pixels : ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIgnore d ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Page Selected ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigation View . menu . getItem ( position ). isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġ// ĠNavigation Ġview ĊĠĠĠĠĠĠĠ Ġnavigation View . setOn Navigation ItemSelected Listener Ġ{ Ġitem Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġindex Ġ= Ġtabs . indexOf ( item . itemId ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragments [ index ]. will Show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Pager . currentItem Ġ= Ġindex ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtabs . contains ( item . itemId ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġnavigation View . selected ItemId Ġ= Ġtabs [ 0 ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠTab Pager Adapter ( ĊĠĠĠĠĠĠĠ Ġfragment Manager : ĠFragment Manager , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġfragments : ĠList < Fragment > ĊĠĠĠ Ġ) Ġ: ĠFragment Pager Adapter ( fragment Manager , ĠBE HAV IOR _ RE SU ME _ ONLY _ CURRENT _ FRAGMENT ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem ( position : ĠInt ): ĠFragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragments [ position ] ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragments . size ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }