package Ġcom . br illi ant zh ao . frame project . activity Ċ Ċ import Ġandroid . databinding . Data Binding Util Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 4 . app . Fragment Pager Adapter Ċ import Ġandroid . support . v 4 . content . Context Compat Ċ import Ġandroid . view . View Ċ import Ġcom . br illi ant zh ao . base library . base . Base Binding Activity Ċ import Ġcom . br illi ant zh ao . frame project . R Ċ import Ġcom . br illi ant zh ao . frame project . databinding . Activity Main Binding Ċ import Ġcom . br illi ant zh ao . tab 1 st library . Tab 1 st Fragment Ċ import Ġcom . br illi ant zh ao . tab 2 ed library . Tab 2 nd Fragment Ċ import Ġcom . br illi ant zh ao . tab 3 rd library . Tab 3 rd Fragment Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ Ċ /** Ċ Ġ* Ġdescription : Ċ Ġ* ĠDate : Ġ 2 0 1 8 / 2 / 2 Ġ 1 0 : 2 8 Ċ Ġ* ĠUser : ĠBr illi ant Zh ao Ċ Ġ*/ Ċ class ĠMainActivity Ġ: ĠBase Binding Activity < Activity Main Binding >() Ġ{ ĊĊĠĠĠ Ġ// ######################## ## Ġ Ġcustom Ġvariables Ġstart Ġ################################ ######## ## ĊĊĠĠĠ Ġprivate Ġvar Ġlast Selected Position Ġ= Ġ 0 ĊĊĠĠĠ Ġlateinit Ġvar Ġm Fragments : ĠMutable List < Fragment > ĊĊĠĠĠ Ġ// ######################## ## ĠĠ Ġcustom Ġvariables Ġend Ġ Ġ################################ ######## ## ĊĊĠĠĠ Ġ// ################ ###### Ġoverride Ġcustom Ġme to h ds Ġstart Ġ################################ ######## ĊĊĠĠĠ Ġoverride Ġfun Ġget ContentView Id (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . activity _ main ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Data Binding ( savedInstanceState : ĠBundle ?): ĠActivity Main Binding Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠData Binding Util . set ContentView ( this , Ġget ContentView Id ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġset ToolBar G one () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Event () Ġ{ ĊĠĠĠĠĠĠĠ ĠfindViewById < View >( R . id . ll _ item 0 ). setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ ĠfindViewById < View >( R . id . ll _ item 1 ). setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ ĠfindViewById < View >( R . id . ll _ item 2 ). setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ ĠfindViewById < View >( R . id . floating Button ). setOnClickListener ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġinit Fragments () ĊĠĠĠĠĠĠĠ Ġ// view pager éħįç½® ĊĠĠĠĠĠĠĠ Ġinit View Page () ĊĠĠĠĠĠĠĠ Ġ// Ġé»ĺè®¤ éĢī ä¸Ń ĊĠĠĠĠĠĠĠ Ġset View Page Dis Position ( last Selected Position ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ################ ###### Ġ Ġoverride Ġcustom Ġme to h ds Ġend Ġ Ġ################################ ######## ĊĊĠĠĠ Ġ// ################ ###### ĠĠĠĠĠ Ġcustom Ġme to h ds Ġstart ĠĠĠĠ Ġ################################ ######## ĊĊĠĠĠ Ġprivate Ġfun Ġinit Fragments () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Fragments Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġm Fragments . add ( Tab 1 st Fragment . newInstance ()) ĊĠĠĠĠĠĠĠ Ġm Fragments . add ( Tab 2 nd Fragment . newInstance ()) ĊĠĠĠĠĠĠĠ Ġm Fragments . add ( Tab 3 rd Fragment . newInstance ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View Page () Ġ{ ĊĠĠĠĠĠĠĠ Ġview Pager . is Paging Enabled Ġ= Ġfalse Ġ// view pager æ»ĳ åĬ¨ æİ§åĪ¶ ĊĠĠĠĠĠĠĠ Ġview Pager . off screen Page Limit Ġ= Ġ 4 ĊĠĠĠĠĠĠĠ Ġview Pager . adapter Ġ= Ġobject Ġ: ĠFragment Pager Adapter ( support FragmentManager ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem ( position : ĠInt ) Ġ= Ġm Fragments [ position ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Count () Ġ= Ġm Fragments . size ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åºķ éĥ¨ çļĦ tab é¡¹ çļĦ çĤ¹åĩ» äºĭä»¶ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġposition ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġset View Page Dis Position ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġview Pager . currentItem Ġ= Ġposition ĊĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġiv _ item 0 ?. setImage Resource ( R . mip map . icon _ android ) ĊĠĠĠĠĠĠĠ Ġiv _ item 1 ?. setImage Resource ( R . mip map . icon _ android ) ĊĠĠĠĠĠĠĠ Ġiv _ item 2 ?. setImage Resource ( R . mip map . icon _ android ) ĊĠĠĠĠĠĠĠ Ġtv _ item 0 ?. setTextColor ( Context Compat . getColor ( getContext (), ĠR . color . base _ item _ 8 7 9 2 A 5 )) ĊĠĠĠĠĠĠĠ Ġtv _ item 1 ?. setTextColor ( Context Compat . getColor ( getContext (), ĠR . color . base _ item _ 8 7 9 2 A 5 )) ĊĠĠĠĠĠĠĠ Ġtv _ item 2 ?. setTextColor ( Context Compat . getColor ( getContext (), ĠR . color . base _ item _ 8 7 9 2 A 5 )) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( position Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ item 0 ?. setImage Resource ( R . mip map . ic _ launcher ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ item 0 ?. setTextColor ( Context Compat . getColor ( getContext (), ĠR . color . base _ item _ 1 2 1 5 1 C )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( position Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ item 1 ?. setImage Resource ( R . mip map . ic _ launcher ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ item 1 ?. setTextColor ( Context Compat . getColor ( getContext (), ĠR . color . base _ item _ 1 2 1 5 1 C )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( position Ġ== Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ item 2 ?. setImage Resource ( R . mip map . ic _ launcher ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ item 2 ?. setTextColor ( Context Compat . getColor ( getContext (), ĠR . color . base _ item _ 1 2 1 5 1 C )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ################ ###### ĠĠĠ Ġcustom Ġme to h ds Ġend ĠĠ Ġ################################ ######## ###### ĊĊĠĠĠ Ġ// ################ ###### Ġ Ġoverride Ġthird Ġmethods Ġstart Ġ################################ ######## ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( v . id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . ll _ item 0 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlast Selected Position Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset View Page Dis Position ( last Selected Position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . ll _ item 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlast Selected Position Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset View Page Dis Position ( last Selected Position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . ll _ item 2 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlast Selected Position Ġ= Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset View Page Dis Position ( last Selected Position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . floating Button Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ################ ###### ĠĠ Ġoverride Ġthird Ġmethods Ġend Ġ Ġ################################ ######## Ċ } Ċ