package Ġcom . blank j . util code . pkg . feature . sn ackbar Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . annotation . String Res Ċ import Ġandroid . text . Sp ann able StringBuilder Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġcom . blank j . lib . common . Common Title Activity Ċ Ċ import Ġcom . blank j . util code . pkg . R Ċ import Ġcom . blank j . util code . util . Snackbar Utils Ċ import Ġcom . blank j . util code . util . Span Utils Ċ import Ġcom . blank j . util code . util . Toast Utils Ċ import Ġkotlinx . android . synt hetic . main . activity _ sn ackbar .* Ċ Ċ /** Ċ Ġ* Ġ``` Ċ Ġ* Ġauthor : ĠBl ank j Ċ Ġ* Ġblog Ġ Ġ: Ġhttp :// blank j . com Ċ Ġ* Ġtime Ġ Ġ: Ġ 2 0 1 6 / 1 0 / 1 7 Ċ Ġ* Ġdesc Ġ Ġ: Ġdemo Ġabout ĠSn ackbar Utils Ċ Ġ* Ġ``` Ċ Ġ*/ Ċ class ĠSn ackbar Activity Ġ: ĠCommon Title Activity () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġstart ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstarter Ġ= ĠIntent ( context , ĠSn ackbar Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( starter ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsn ackBar Root View : ĠView ĊĊĠĠĠ Ġoverride Ġfun Ġbind Title (): ĠCharSequence Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠgetString ( R . string . demo _ sn ackbar ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Data ( bundle : ĠBundle ?) Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġbind Layout (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . activity _ sn ackbar ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit View ( savedInstanceState : ĠBundle ?, Ġcontent View : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsn ackBar Root View Ġ= ĠfindViewById ( android . R . id . content ) ĊĠĠĠĠĠĠĠ Ġsn ackbar Show Short Btn . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġsn ackbar Show Short With Action Btn . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġsn ackbar Show Long Btn . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġsn ackbar Show Long With Action Btn . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġsn ackbar Show In defin ite Btn . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġsn ackbar Show In defin ite With Action Btn . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġsn ackbar Add View Btn . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġsn ackbar Add View With Action Btn . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġsn ackbar Show Success Btn . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġsn ackbar Show Warning Btn . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġsn ackbar Show Error Btn . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġsn ackbar Dismiss Btn . setOnClickListener ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdo Business () Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġon Widget Click ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( view . id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . sn ackbar Show Short Btn Ġ-> ĠSn ackbar Utils . with ( sn ackBar Root View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( get Msg ( R . string . sn ackbar _ short )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage Color ( Color . WHITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Bg Resource ( R . drawable . sn ackbar _ custom _ bg ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . sn ackbar Show Short With Action Btn Ġ-> ĠSn ackbar Utils . with ( sn ackBar Root View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( get Msg ( R . string . sn ackbar _ short )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage Color ( Color . WHITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Bg Resource ( R . drawable . sn ackbar _ custom _ bg ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAction ( getString ( R . string . sn ackbar _ click ), ĠColor . YELLOW ) Ġ{ ĠToast Utils . show Short ( getString ( R . string . sn ackbar _ click )) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . sn ackbar Show Long Btn Ġ-> ĠSn ackbar Utils . with ( sn ackBar Root View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( get Msg ( R . string . sn ackbar _ long )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage Color ( Color . WHITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Duration ( Snackbar Utils . LENGTH _ LONG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Bg Resource ( R . drawable . sn ackbar _ custom _ bg ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . sn ackbar Show Long With Action Btn Ġ-> ĠSn ackbar Utils . with ( sn ackBar Root View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( get Msg ( R . string . sn ackbar _ long )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage Color ( Color . WHITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Bg Resource ( R . drawable . sn ackbar _ custom _ bg ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Duration ( Snackbar Utils . LENGTH _ LONG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAction ( getString ( R . string . sn ackbar _ click ), ĠColor . YELLOW ) Ġ{ ĠToast Utils . show Short ( getString ( R . string . sn ackbar _ click )) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . sn ackbar Show In defin ite Btn Ġ-> ĠSn ackbar Utils . with ( sn ackBar Root View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( get Msg ( R . string . sn ackbar _ in defin ite )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage Color ( Color . WHITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Duration ( Snackbar Utils . LENGTH _ IN DEFIN ITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Bg Resource ( R . drawable . sn ackbar _ custom _ bg ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . sn ackbar Show In defin ite With Action Btn Ġ-> ĠSn ackbar Utils . with ( sn ackBar Root View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( get Msg ( R . string . sn ackbar _ in defin ite )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage Color ( Color . WHITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Duration ( Snackbar Utils . LENGTH _ IN DEFIN ITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Bg Resource ( R . drawable . sn ackbar _ custom _ bg ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAction ( getString ( R . string . sn ackbar _ click ), ĠColor . YELLOW ) Ġ{ ĠToast Utils . show Short ( getString ( R . string . sn ackbar _ click )) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . sn ackbar Add View Btn Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠViewGroup . LayoutParams ( ViewGroup . LayoutParams . MATCH _ PARENT , ĠViewGroup . LayoutParams . MATCH _ PARENT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar Utils . with ( sn ackBar Root View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Bg Color ( Color . TRANSP ARENT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Duration ( Snackbar Utils . LENGTH _ IN DEFIN ITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar Utils . addView ( R . layout . sn ackbar _ custom , Ġparams ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . sn ackbar Add View With Action Btn Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparams : ĠViewGroup . LayoutParams Ġ= ĠViewGroup . LayoutParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠViewGroup . LayoutParams . MATCH _ PARENT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠViewGroup . LayoutParams . MATCH _ PARENT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar Utils . with ( sn ackBar Root View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Bg Color ( Color . TRANSP ARENT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Duration ( Snackbar Utils . LENGTH _ IN DEFIN ITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar Utils . addView ( R . layout . sn ackbar _ custom , Ġparams ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsn ackbar View Ġ= ĠSn ackbar Utils . getView () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( sn ackbar View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtv Snackbar Custom Ġ= Ġsn ackbar View . findViewById < TextView >( R . id . sn ackbar Custom Tv ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Snackbar Custom . text Ġ= Ġ" çĤ¹ æĪĳ åı¯ æ¶Ī å¤± " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsn ackbar View . setOnClickListener Ġ{ ĠSn ackbar Utils . dismiss () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . sn ackbar Show Success Btn Ġ-> ĠSn ackbar Utils . with ( sn ackBar Root View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( get Msg ( R . string . sn ackbar _ success )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show Success () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . sn ackbar Show Warning Btn Ġ-> ĠSn ackbar Utils . with ( sn ackBar Root View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( get Msg ( R . string . sn ackbar _ warning )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show Warning () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . sn ackbar Show Error Btn Ġ-> ĠSn ackbar Utils . with ( sn ackBar Root View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( get Msg ( R . string . sn ackbar _ error )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show Error () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . sn ackbar Dismiss Btn Ġ-> ĠSn ackbar Utils . dismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Msg (@ String Res Ġres Id : ĠInt ): ĠSp ann able StringBuilder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSpan Utils () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append Image ( R . mip map . ic _ launcher , ĠSpan Utils . ALIGN _ CENTER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append Space ( 3 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( getString ( res Id )). setFont Size ( 2 4 , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĠĠĠ Ġ} Ċ } Ċ