package Ġcom . du yang s . toast z Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . annotation . Color Int Ċ import Ġandroidx . annotation . Drawable Res Ċ import Ġandroidx . annotation . NonNull Ċ Ċ /** Ċ Ġ* Ġ< p > Project : Toast Z </ p > Ċ Ġ* Ġ< p > Package : com . du yang s . toast z </ p > Ċ Ġ* Ġ< p > Description : ĠToast Z </ p > Ċ Ġ* Ġ< p > Company :</ p > Ċ Ġ* Ċ Ġ* Ġ@ author Ġdu yang s Ċ Ġ* Ġ@ date Ġ 2 0 1 8 / 0 6 / 0 4 Ċ Ġ*/ Ċ @ Suppress Lint (" Inf late Params ", Ġ" Static Field Leak ") Ċ object ĠToast Z Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġconfig Ġ= ĠConfig () ĊĠĠĠ Ġprivate Ġvar Ġm Toast : ĠToast ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar ĠmContext : ĠContext ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪĿå§ĭåĮĸ å·¥åħ· ç±» ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext Ġä¸Ĭ ä¸ĭ æĸĩ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġinit ( context : ĠContext , Ġconfig : ĠConfig ? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ ĠmContext Ġ= Ġcontext . application Context ĊĠĠĠĠĠĠĠ Ġconfig ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . config Ġ= Ġconfig ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ ApplicationContext ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠApplication Context ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠgetContext (): ĠContext Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( mContext Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠmContext Ġas ĠContext ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠNullPointerException (" u Ġshould Ġinit Ġfirst ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠNormal Ġstyle ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġnormal ( msg : ĠAny , Ġduration : ĠInt ? Ġ= Ġnull , Ġgravity : ĠInt ? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcustom ( msg , Ġgravity , Ġnull , Ġconfig . get Normal Color (), Ġduration ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSuccess Ġstyle ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsuccess ( msg : ĠAny , Ġduration : ĠInt ? Ġ= Ġnull , Ġgravity : ĠInt ? Ġ= Ġnull , Ġwith Icon : ĠBoolean ? Ġ= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcustom ( msg , Ġgravity , ĠR . drawable . ic _ check _ white _ 4 8 dp , Ġconfig . get Success Color (), Ġduration , Ġwith Icon , Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠInfo Ġstyle ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġinfo ( msg : ĠAny , Ġduration : ĠInt ? Ġ= Ġnull , Ġgravity : ĠInt ? Ġ= Ġnull , Ġwith Icon : ĠBoolean ? Ġ= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcustom ( msg , Ġgravity , ĠR . drawable . ic _ info _ outline _ white _ 4 8 dp , Ġconfig . getInfo Color (), Ġduration , Ġwith Icon , Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWarning Ġstyle ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġwarning ( msg : ĠAny , Ġduration : ĠInt ? Ġ= Ġnull , Ġgravity : ĠInt ? Ġ= Ġnull , Ġwith Icon : ĠBoolean ? Ġ= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcustom ( msg , Ġgravity , ĠR . drawable . ic _ error _ outline _ white _ 4 8 dp , Ġconfig . get Warning Color (), Ġduration , Ġwith Icon , Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠError Ġstyle ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġerror ( msg : ĠAny , Ġduration : ĠInt ? Ġ= Ġnull , Ġgravity : ĠInt ? Ġ= Ġnull , Ġwith Icon : ĠBoolean ? Ġ= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcustom ( msg , Ġgravity , ĠR . drawable . ic _ clear _ white _ 4 8 dp , Ġconfig . getError Color (), Ġduration , Ġwith Icon , Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCustom Ġstyle Ġtoast ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġcustom ( msg : ĠAny , Ġgravity : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Drawable Res Ġicon Res : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Color Int Ġt int Color : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġduration : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Icon : ĠBoolean ? Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshould Tint : ĠBoolean ? Ġ= Ġfalse ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġtoast ( msg , Ġgravity Ġ?: Ġconfig . get Gravity (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Drawable ( icon Res ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt int Color Ġ?: Ġconfig . get Normal Color (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġduration Ġ?: ĠToast . LENGTH _ LONG , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Icon Ġ?: Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshould Tint Ġ?: Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCancel Ġtoast ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġcancel () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Toast ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . cancel () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Toast Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġtoast Ġcreate ĊĠĠĠĠ Ġ* Ġ@ param Ġmsg ĠAny ĠNeed Ġto Ġshow Ġinformation ï¼Į only ĠString Res Ġor ĠString . ĊĠĠĠĠ Ġ* Ġ@ param Ġgravity ĠToast Ġdisplay Ġposition , ĠGr avity . CENTER ãĢģ Gravity . TOP Ġor ĠGr avity . BOTTOM . ĊĠĠĠĠ Ġ* Ġ@ param Ġicon ĠToast Ġicon ï¼Į only Ġsupport ĠDrawable . ĊĠĠĠĠ Ġ* Ġ@ param Ġt int Color ĠToast Ġbackground Ġcolor , Ġonly Ġsupport ĠColor Int . ĊĠĠĠĠ Ġ* Ġ@ param Ġduration ĠToast Ġdisplay Ġtime , ĠToast . LENGTH _ SHORT Ġor ĠToast . LENGTH _ LONG . ĊĠĠĠĠ Ġ* Ġ@ param Ġwith Icon ĠWhether Ġto Ġshow ĠToast Ġicon , true Ġor Ġfalse . ĊĠĠĠĠ Ġ* Ġ@ param Ġshould Tint ĠWhether Ġto Ġmodify Ġthe ĠToast Ġbackground , true Ġor Ġfalse . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġtoast (@ NonNull Ġmsg : ĠAny , Ġgravity : ĠInt , Ġicon : ĠDrawable ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Color Int Ġt int Color : ĠInt , Ġduration : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Icon : ĠBoolean , Ġshould Tint : ĠBoolean ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġcancel () ĊĊĠĠĠĠĠĠĠ Ġfun Ġt int Icon Verify (): ĠBoolean Ġ= Ġ( config . get Tint Icon () Ġand Ġwith Icon Ġand Ġ( icon Ġ!= Ġnull )) ĊĊĠĠĠĠĠĠĠ Ġfun Ġlayout Set Background ( toast Layout : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Background ( toast Layout , Ġget Drawable Frame ( should Tint , Ġt int Color , Ġconfig . get Toast Frame Res Id ())) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġt int Icon Set Background ( toast Icon : ĠImageView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( tint Icon Verify ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġt Icon Ġ= Ġt int Icon ( icon , Ġconfig . getDefault TextColor ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Background ( toast Icon , Ġt Icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast Icon . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġset TextView ( toast TextView : ĠTextView , Ġmsg : ĠCharSequence ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast TextView . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . text Ġ= Ġmsg ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . setTextColor ( config . getDefault TextColor ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . type face Ġ= Ġconfig . getType face () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . text Size Ġ= Ġconfig . getText Size (). toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġshow ( toast Layout : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Toast ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . view Ġ= Ġtoast Layout ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . set Gravity ( gravity , Ġ 0 , Ġget Y Offset ( gravity , Ġconfig . getY Offset ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġshow Msg Ġ= Ġmsg Format ( msg ) ĊĠĠĠĠĠĠĠ Ġval Ġ( toast , Ġchild ) Ġ= Ġload Toast Layout ( show Msg , Ġduration ) ĊĠĠĠĠĠĠĠ Ġval Ġ( toast Layout , Ġtoast Icon , Ġtoast TextView ) Ġ= Ġchild ĊĠĠĠĠĠĠĠ Ġm Toast Ġ= Ġtoast ĊĊĠĠĠĠĠĠĠ Ġlayout Set Background ( toast Layout ) ĊĠĠĠĠĠĠĠ Ġt int Icon Set Background ( toast Icon ) ĊĠĠĠĠĠĠĠ Ġset TextView ( toast TextView , Ġshow Msg ) ĊĠĠĠĠĠĠĠ Ġshow ( toast Layout ) ĊĠĠĠ Ġ} Ċ } Ċ