package Ġcom . zero percent happy . tab layout library Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . support . v 4 . content . Context Compat Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . util . Typed Value Ċ import Ġandroid . view . Gravity Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . TextView Ċ import Ġcom . zero percent happy . utils library . utils . Convert Utils Ċ Ċ class ĠTab Item ( context : ĠContext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġun Selected Icon Res : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġselected Icon Res : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtab Text : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġun Selected TextColor Res : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġselected TextColor Res : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġinner Padding : ĠFloat Ġ= Ġ 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġicon Size : ĠFloat Ġ= ĠConvert Utils . dp 2 px ( context , Ġ 3 0 f ). toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġtext Size : ĠFloat Ġ= ĠConvert Utils . sp 2 px ( context , Ġ 1 4 f ). toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġspacing Of Icon And Text : ĠFloat Ġ= Ġ 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġscale Type : ĠInt Ġ= Ġ 0 ) Ġ: ĠLinearLayout ( context ) Ġ{ ĊĠĠĠ Ġprivate Ġvar ĠimageView : ĠImageView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar ĠtextView : ĠTextView ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlayout Params Ġ= ĠLayout Params ( 0 , ĠLayout Params . WRAP _ CONTENT ) ĊĠĠĠĠĠĠĠ Ġlayout Params . weight Ġ= Ġ 1 f ĊĠĠĠĠĠĠĠ Ġthis . layout Params Ġ= Ġlayout Params ĊĠĠĠĠĠĠĠ Ġset Padding ( 0 , ĠMath . round ( inner Padding ), Ġ 0 , ĠMath . round ( inner Padding )) ĊĠĠĠĠĠĠĠ Ġorientation Ġ= ĠV ERT ICAL ĊĠĠĠĠĠĠĠ Ġgravity Ġ= ĠGr avity . CENTER _ HORIZONTAL ĊĊĠĠĠĠĠĠĠ Ġif Ġ( un Selected Icon Res Ġ!= Ġnull Ġ&& Ġselected Icon Res Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit Tab Icon () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ( tab Text )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit Tab Text () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Tab Icon () Ġ{ ĊĠĠĠĠĠĠĠ ĠimageView Ġ= ĠImageView ( context ) ĊĠĠĠĠĠĠĠ Ġval Ġlayout Params Ġ= ĠLayout Params ( Math . round ( icon Size ), ĠMath . round ( icon Size )) ĊĠĠĠĠĠĠĠ ĠimageView !!. layout Params Ġ= Ġlayout Params ĊĠĠĠĠĠĠĠ ĠimageView !!. setImage Resource ( un Selected Icon Res !! ) ĊĠĠĠĠĠĠĠ ĠZ P HT ab Layout Config . set Scale Type ( imageView !! , Ġthis @ Tab Item . scale Type ) ĊĠĠĠĠĠĠĠ Ġadd View ( imageView ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Tab Text () Ġ{ ĊĠĠĠĠĠĠĠ ĠtextView Ġ= ĠTextView ( context ) ĊĠĠĠĠĠĠĠ Ġval Ġlayout Params Ġ= ĠLayout Params ( LayoutParams . WRAP _ CONTENT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayout Params . WRAP _ CONTENT ) ĊĠĠĠĠĠĠĠ Ġif Ġ( imageView Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Params . set Margins ( 0 , ĠMath . round ( spacing Of Icon And Text ), Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠtextView !!. layout Params Ġ= Ġlayout Params ĊĠĠĠĠĠĠĠ ĠtextView !!. setText Size ( Typed Value . COMPLEX _ UNIT _ PX , Ġtext Size ) ĊĠĠĠĠĠĠĠ ĠtextView !!. text Ġ= Ġtab Text ĊĠĠĠĠĠĠĠ Ġadd View ( textView ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĪĩæį¢ éĢī ä¸Ń çĬ¶æĢģ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġselected Ġtrue : éĢī ä¸Ń Ġ Ġfalse ï¼ļ æľª éĢī ä¸Ń ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Tab Selected ( selected : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( selected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠimageView ?. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Image Resource ( selected Icon Res !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView ?. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset TextColor ( Context Compat . getColor ( context , Ġselected TextColor Res !! )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠimageView ?. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Image Resource ( un Selected Icon Res !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView ?. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset TextColor ( Context Compat . getColor ( context , Ġun Selected TextColor Res !! )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }