package Ġcom . k ang ra oo . base kt lib . tools . view Ċ Ċ import Ġandroid . content . res . Typed Array Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . graphics . drawable . Layer Drawable Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . annotation . Int Def Ċ import Ġcom . k ang ra oo . base kt lib . R Ċ Ċ /** Ċ Ġ* Ġauthor Ġ: Ġs dw Ċ Ġ* Ġe - mail Ġ: Ġsh id awei @ xiao he . com Ċ Ġ* Ġtime Ġ: Ġ 2 0 1 9 / 0 9 / 0 5 Ċ Ġ* Ġdesc Ġ: Ċ Ġ* Ġversion : Ġ 1 . 0 Ċ Ġ*/ Ċ object ĠT View Ġ{ ĊĠĠĠ Ġconst Ġval ĠLEFT Ġ= Ġ 1 ĊĠĠĠ Ġconst Ġval ĠTOP Ġ= Ġ 2 ĊĠĠĠ Ġconst Ġval ĠRIGHT Ġ= Ġ 4 ĊĠĠĠ Ġconst Ġval ĠBOTTOM Ġ= Ġ 8 ĊĠĠĠ Ġfun Ġbuild Text Drawable ( ĊĠĠĠĠĠĠĠ ĠtextView : ĠTextView , ĊĠĠĠĠĠĠĠ Ġdrawable : ĠDrawable , ĊĠĠĠĠĠĠĠ ĠtextView Drawable Array : ĠTyped Array ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( textView Drawable Array . hasValue ( R . style able . Lib TextView Drawable _ lib _ position )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Text Drawable ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Drawable Array . getInt ( R . style able . Lib TextView Drawable _ lib _ position , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbuild Text Drawable ( ĊĠĠĠĠĠĠĠ ĠtextView : ĠTextView , ĊĠĠĠĠĠĠĠ Ġdrawable : ĠDrawable , ĊĠĠĠĠĠĠĠ Ġ@ TextView Drawable Type Ġpos ion : ĠInt ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdrawable . setBounds ( 0 , Ġ 0 , Ġdrawable . minimum Width , Ġdrawable . minimum Height ) ĊĠĠĠĠĠĠĠ Ġwhen Ġ( pos ion ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLEFT Ġ-> ĠtextView . set Compound Draw ables ( drawable , Ġnull , Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTOP Ġ-> ĠtextView . set Compound Draw ables ( null , Ġdrawable , Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRIGHT Ġ-> ĠtextView . set Compound Draw ables ( null , Ġnull , Ġdrawable , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBOTTOM Ġ-> ĠtextView . set Compound Draw ables ( null , Ġnull , Ġnull , Ġdrawable ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġbuild Layer ( ĊĠĠĠĠĠĠĠ Ġshape Array : ĠTyped Array , ĊĠĠĠĠĠĠĠ Ġst o ke Position : ĠTyped Array , ĊĠĠĠĠĠĠĠ Ġdrawable : ĠDrawable ? ĊĠĠĠ Ġ): ĠDrawable ? Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġdrawable Ġ= Ġdrawable ĊĠĠĠĠĠĠĠ Ġif Ġ( shape Array . hasValue ( R . style able . Lib Shape _ lib _ stroke _ width ) Ġ&& Ġst o ke Position . hasValue ( R . style able . Lib Sto ke Position _ lib _ stroke _ position )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwidth Ġ= Ġshape Array . get Dimension ( R . style able . Lib Shape _ lib _ stroke _ width , Ġ 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġposition Ġ= Ġst o ke Position . getInt ( R . style able . Lib Sto ke Position _ lib _ stroke _ position , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġleft Ġ= Ġ 1 Ġshl Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtop Ġ= Ġ 1 Ġshl Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġright Ġ= Ġ 1 Ġshl Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbottom Ġ= Ġ 1 Ġshl Ġ 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġleft Value Ġ= Ġif Ġ( has Status ( position , Ġleft )) Ġwidth Ġelse Ġ- width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtop Value Ġ= Ġif Ġ( has Status ( position , Ġtop )) Ġwidth Ġelse Ġ- width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġright Value Ġ= Ġif Ġ( has Status ( position , Ġright )) Ġwidth Ġelse Ġ- width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbottom Value Ġ= Ġif Ġ( has Status ( position , Ġbottom )) Ġwidth Ġelse Ġ- width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable Ġ= ĠLayer Drawable ( array Of ( drawable )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable . set Layer Inset ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Value . toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Value . toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright Value . toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Value . toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġdrawable ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhas Status ( flag : ĠInt , Ġstatus : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġflag Ġand Ġstatus Ġ== Ġstatus ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Int Def ( LEFT , ĠTOP , ĠRIGHT , ĠBOTTOM ) ĊĠĠĠ Ġ@ Retention ( Annotation Retention . SOURCE ) ĊĠĠĠ Ġannotation Ġclass ĠTextView Drawable Type Ċ } Ċ