package Ġcom . storm kid . k ui _ base . toast Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . PixelFormat Ċ import Ġandroid . os . Handler Ċ import Ġandroid . view . WindowManager Ċ import Ġandroid . widget . Relative Layout Ċ import Ġandroidx . annotation . Color Int Ċ import Ġandroidx . annotation . Color Res Ċ import Ġcom . storm kid . k ui _ base . R Ċ import Ġcom . storm kid . k ui _ base . button . K ui Button Ċ Ċ /** Ċ èĩªå®ļä¹ī å¼¹ åĩº åľŁ åı¸ æıĲç¤º Ċ @ author Ġke _ li Ċ @ date Ġ 2 0 1 8 / 1 0 / 2 3 Ċ Ġ*/ Ċ class ĠK ui Toast Ġ( private Ġval Ġcontext : ĠContext ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġkui Toast View Ġ= ĠK ui Toast View ( context ) ĊĠĠĠ Ġprivate Ġvar Ġrule Ġ= ĠRelative Layout . ALIGN _ PARENT _ BOTTOM ĊĠĠĠ Ġprivate Ġvar Ġanimation Ġ= ĠĠ ĠR . style . alpha Show ĊĠĠĠ Ġprivate Ġvar Ġis Default Ġ= Ġtrue ĊĠĠĠ Ġprivate Ġvar Ġis Auto Dismiss Ġ= Ġtrue ĊĠĠĠ Ġprivate Ġval Ġlayout params Ġ= ĠWindow Manager . LayoutParams (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġformat Ġ= ĠPixel Format . TRANSP ARENT ĊĠĠĠĠĠĠĠ Ġflags Ġ= ĠWindow Manager . LayoutParams . FLAG _ DR AWS _ SYSTEM _ BAR _ BACK GRO UN DS ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTOP Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠC ENTER Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ// Ġé»ĺè®¤ ä¸į å¸¦ gravity æĸ¹æ³ķ åį³ åľ¨ åºķ éĥ¨ Ċ // ĠĠĠĠĠĠĠ Ġconst Ġval ĠBOTTOM Ġ= Ġ 2 ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠNORMAL Ġ= Ġ 1 0 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠC IR CLE Ġ= Ġ 1 1 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠRO UND Ġ= Ġ 1 2 ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTEXT _ CENTER Ġ= Ġ 2 0 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTEXT _ LEFT = 2 1 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTEXT _ RIGHT Ġ= Ġ 2 2 ĊĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠLEN GTH _ LONG Ġ= Ġ 4 0 0 0 L ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠLEN GTH _ SHORT Ġ= Ġ 1 5 0 0 L ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Toast ( text : ĠString , Ġtime : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmanager Ġ= Ġcontext . getSystem Service ( Context . WINDOW _ SERVICE ) Ġas ĠWindow Manager ĊĠĠĠĠĠĠĠ Ġlayout params . window Animations Ġ= Ġanimation ĊĠĠĠĠĠĠĠ Ġmanager . addView ( k ui Toast View , Ġlayout params ) ĊĠĠĠĠĠĠĠ Ġkui Toast View . get Toast View Without Rule (). apply Ġ{ Ġ Ġset Text ( text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Default ) Ġset Bg Color ( Color . DK GRAY ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( is Auto Dismiss ) ĠHandler (). post Delayed ({ Ġmanager . remove View Immediate ( k ui Toast View ) Ġ}, Ġtime ) ĊĠĠĠĠĠĠĠ Ġelse Ġkui Toast View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmanager . remove View Immediate ( k ui Toast View ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġinner Ġclass ĠBuild Toast Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġset Gravity ( flag : ĠInt ): ĠBuild Toast Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( flag ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠK ui Toast . CENTER Ġ-> Ġrule Ġ= ĠRelative Layout . CENTER _ IN _ PARENT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠK ui Toast . TOP Ġ-> Ġrule Ġ= ĠRelative Layout . ALIGN _ PARENT _ TOP ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkui Toast View . get Toast View (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġlayout Params Ġas ĠRelative Layout . LayoutParams ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams . add Rule ( rule , 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġneed Bottom ( is Need : Boolean ): ĠBuild Toast Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġanimation Ġ= Ġif Ġ( is Need ) ĠR . style . Anim Bottom ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĠR . style . alpha Show ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġset Drawable ( flag : ĠInt ): ĠBuild Toast Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( flag ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠK ui Toast . NORMAL Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠK ui Toast . CIR CLE Ġ-> Ġkui Toast View . get Toast View Without Rule (). set Bg Type ( K ui Button . circle Type ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠK ui Toast . ROUND Ġ-> Ġkui Toast View . get Toast View Without Rule (). set Bg Type ( K ui Button . round Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġset Toast Color (@ Color Int Ġcolor : ĠInt ): ĠBuild Toast Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Default Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkui Toast View . get Toast View Without Rule (). set Bg Color ( color ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġset Block ( is Block : ĠBoolean ): ĠBuild Toast Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkui Toast View . get Toast View Without Rule (). set Stroke ( is Block ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġfun Ġset TextColor (@ Color Res Ġcolor : ĠInt ): ĠBuild Toast Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkui Toast View . get Toast View Without Rule (). setTextColor ( color ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun ĠsetIs Auto Dis s miss ( is Auto : Boolean ): ĠBuild Toast Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Auto Dismiss Ġ= Ġis Auto ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġinit Toast () Ġ= Ġthis @ K ui Toast ĊĠĠĠ Ġ} ĊĊ Ċ }