package Ġj oh ns ard in ha . login demo . utils . custom views Ċ Ċ import Ġandroid . animation . Animator Inflater Ċ import Ġandroid . animation . State List Animator Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . widget . Relative Layout Ċ import Ġandroid . widget . TextView Ċ import Ġcom . wang . avi . AV Loading Indicator View Ċ import Ġj oh ns ard in ha . login demo . R Ċ Ċ class ĠTheme Loading Button Ġ: ĠRelative Layout Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġloading Indicator : ĠAV Loading Indicator View ĊĠĠĠ Ġlateinit Ġvar ĠtextView : ĠTextView ĊĠĠĠ Ġprivate Ġvar Ġattrs : ĠAttributeSet ? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġsuper ( context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?) Ġ: Ġsuper ( context , Ġattrs ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . attrs Ġ= Ġattrs ĊĠĠĠĠĠĠĠ Ġinit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= Ġcontext . getSystem Service ( Context . LAYOUT _ IN FL ATER _ SERVICE ) Ġas ĠLayoutInflater ĊĠĠĠĠĠĠĠ Ġinflater . inflate ( R . layout . loading _ button _ view , Ġthis ) ĊĊĠĠĠĠĠĠĠ Ġloading Indicator Ġ= ĠfindViewById ( R . id . loading Button _ pb ) ĊĠĠĠĠĠĠĠ ĠtextView Ġ= ĠfindViewById ( R . id . loading Button _ tv ) ĊĊĠĠĠĠĠĠĠ Ġset Attrs () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Attrs () Ġ{ ĊĠĠĠĠĠĠĠ Ġset Background Resource ( R . drawable . theme _ button _ background ) ĊĠĠĠĠĠĠĠ Ġstate List Animator Ġ= ĠAn imator Inflater . load State List Animator ( context , ĠR . drawable . theme _ button _ state _ anim ator ) ĊĠĠĠĠĠĠĠ Ġloading Indicator . hide () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( attrs Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġa Ġ= Ġcontext . theme . obtain Styled Attributes ( attrs , ĠR . style able . Theme Loading Button , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( a . getString ( R . style able . Theme Loading Button _ text )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġfun Ġshow Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġloading Indicator . smooth To Show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġfun Ġhide Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġloading Indicator . smooth To Hide () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġfun Ġset TextColor ( color : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠtextView . setTextColor ( color ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġfun Ġset Text ( text : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠtextView . setText ( text ) ĊĠĠĠ Ġ} Ċ }