package Ġcn . l vs ong . lib . library . view Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . text . Input Filter Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . util . Typed Value Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . annotation . Color Int Ċ import Ġandroidx . constraint layout . widget . Constraint Layout Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġcn . l vs ong . lib . library . R ĊĊ Ċ /** Ċ Ġ* ĠDesc : Ġ èĩªå®ļä¹ī æĻ®éĢļ èıľåįķ , æł¼å¼ı å¦Ĥä¸ĭ Ċ Ġ* Ġ Ġ åĽ¾çīĩ Ġ-- Ġ æĸĩåŃĹ Ġ Ġ--------------- Ġ è¾ĵåħ¥ æ¡Ĩ Ġ Ġ åĽ¾çīĩ Ċ Ġ* ĠAuthor : ĠJ oo yer Ċ Ġ* ĠDate : Ġ 2 0 1 8 - 0 8 - 0 8 Ċ Ġ* ĠTime : Ġ 1 4 : 4 4 Ċ Ġ*/ Ċ Ċ /* ĊĊĠĠĠ Ġ< cn . l vs ong . lib . library . view . Custom Edit Menu ĊĠĠĠĠĠĠĠ Ġandroid : id ="@ + id / cm _ cn _ name _ publish _ help " ĊĠĠĠĠĠĠĠ Ġandroid : layout _ width =" 0 dp " ĊĠĠĠĠĠĠĠ Ġandroid : layout _ height ="@ dim en / height _ 4 0 " ĊĠĠĠĠĠĠĠ Ġandroid : background ="@ color / color _ 2 8 7 8 FF " ĊĠĠĠĠĠĠĠ Ġapp : cem _ bottom _ divider _ color ="@ color / color _ EEEE EE " ĊĠĠĠĠĠĠĠ Ġapp : cem _ bottom _ divider _ left _ margin ="@ dim en / padding _ 1 4 " ĊĠĠĠĠĠĠĠ Ġapp : cem _ bottom _ divider _ visible =" true " ĊĠĠĠĠĠĠĠ Ġapp : cem _ left _ image _ drawable ="@ mip map / ic _ launcher " ĊĠĠĠĠĠĠĠ Ġapp : cem _ left _ image _ height ="@ dim en / height _ 4 0 " ĊĠĠĠĠĠĠĠ Ġapp : cem _ left _ image _ margin ="@ dim en / padding _ 2 0 " ĊĠĠĠĠĠĠĠ Ġapp : cem _ left _ image _ visible =" false " ĊĠĠĠĠĠĠĠ Ġapp : cem _ left _ image _ width ="@ dim en / width _ 4 0 " ĊĠĠĠĠĠĠĠ Ġapp : cem _ left _ text _ color ="@ color / color _ 3 3 3 3 3 3 " ĊĠĠĠĠĠĠĠ Ġapp : cem _ left _ text _ info =" ä¹¦ ç± į åĲįç§° " ĊĠĠĠĠĠĠĠ Ġapp : cem _ left _ text _ left _ margin ="@ dim en / padding _ 1 0 " ĊĠĠĠĠĠĠĠ Ġapp : cem _ left _ text _ size ="@ dim en / text _ size _ 1 4 " ĊĠĠĠĠĠĠĠ Ġapp : cem _ right _ image _ drawable ="@ mip map / ic _ launcher " ĊĠĠĠĠĠĠĠ Ġapp : cem _ right _ image _ visible =" false " ĊĠĠĠĠĠĠĠ Ġapp : cem _ right _ input _ hint _ text =" è¯·è¾ĵåħ¥ æĺ µ ç§° " ĊĠĠĠĠĠĠĠ Ġapp : cem _ right _ input _ right _ margin ="@ dim en / padding _ 1 0 " ĊĠĠĠĠĠĠĠ Ġapp : cem _ right _ input _ right _ padding ="@ dim en / padding _ 4 0 " ĊĠĠĠĠĠĠĠ Ġapp : cem _ right _ input _ text _ size ="@ dim en / text _ size _ 1 4 " ĊĠĠĠĠĠĠĠ Ġapp : cem _ right _ input _ visible =" true " ĊĠĠĠĠĠĠĠ Ġapp : layout _ constraint End _ to EndOf =" parent " ĊĠĠĠĠĠĠĠ Ġapp : layout _ constraint Start _ to Start Of =" parent " ĊĠĠĠĠĠĠĠ Ġapp : layout _ constraint Top _ to Bottom Of ="@ id / f ct _ test " Ġ/> ĊĊ Ġ*/ Ċ Ċ class ĠCustom Edit Menu ( context : ĠContext , Ġattr : ĠAttributeSet , Ġdef Style Attr : ĠInt ) Ġ: ĊĠĠĠ ĠConstraint Layout ( context , Ġattr , Ġdef Style Attr ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æľĢ å·¦ ä¾§ åĽ¾ æłĩ ĊĠĠĠĠ Ġ*/ ĊĠĠĠĠ Ġlateinit Ġvar Ġiv _ left _ icon _ menu : ĠImageView ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç´ § æĮ ¨ çĿĢ å·¦ ä¾§ åĽ¾ æłĩ çļĦ æĸĩæľ¬ ĊĠĠĠĠ Ġ*/ ĊĠĠĠĠ Ġlateinit Ġvar Ġtv _ left _ name _ menu : ĠTextView ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ è¾ĵåħ¥ æ¡Ĩ ĊĠĠĠĠ Ġ*/ ĊĠĠĠĠ Ġlateinit Ġvar Ġet _ right _ name _ menu : ĠFixed Cursor EditText ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æľĢ åı³ ä¾§ åĽ¾ æłĩ ( ä¸ĢèĪ¬ æĺ¯ åĲĳ åı³ ç® Ń å¤´ ĠâĨĴ ) ĊĠĠĠĠ Ġ*/ ĊĠĠĠĠ Ġlateinit Ġvar Ġiv _ right _ icon _ menu : ĠImageView ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åºķ éĥ¨åĪĨ åī² çº¿ ĊĠĠĠĠ Ġ*/ ĊĠĠĠĠ Ġlateinit Ġvar Ġview _ bottom _ divider _ menu : ĠView ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattr : ĠAttributeSet ) Ġ: Ġthis ( context , Ġattr , Ġ 0 ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠĠĠĠĠ Ġparse Attrs ( context , Ġattr ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ ĠLayoutInflater . from ( context ). inflate ( R . layout . common _ ui _ image _ text _ edit _ image , Ġthis , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġiv _ left _ icon _ menu Ġ= ĠfindViewById ( R . id . iv _ left _ icon _ menu ) ĊĠĠĠĠĠĠĠ Ġtv _ left _ name _ menu Ġ= ĠfindViewById ( R . id . tv _ left _ name _ menu ) ĊĠĠĠĠĠĠĠ Ġet _ right _ name _ menu Ġ= ĠfindViewById ( R . id . et _ right _ name _ menu ) ĊĠĠĠĠĠĠĠ Ġiv _ right _ icon _ menu Ġ= ĠfindViewById ( R . id . iv _ right _ arrow _ menu ) ĊĠĠĠĠĠĠĠ Ġview _ bottom _ divider _ menu Ġ= ĠfindViewById ( R . id . view _ bottom _ divider _ menu ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġparse Attrs ( context : ĠContext , Ġattr : ĠAttributeSet ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġarr Ġ= Ġcontext . obtain Styled Attributes ( attr , ĠR . style able . Custom Edit Menu ) ĊĠĠĠĠĠĠĠ Ġval Ġleft Image Visible Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr . getBoolean ( R . style able . Custom Edit Menu _ cem _ left _ image _ visible , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġval Ġleft Image Drawable Ġ= Ġarr . get Drawable ( R . style able . Custom Edit Menu _ cem _ left _ image _ drawable ) ĊĠĠĠĠĠĠĠ Ġval Ġleft Image Width Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr . get Dimension ( R . style able . Custom Edit Menu _ cem _ left _ image _ width , Ġdp 2 px ( 2 2 F )). toInt () ĊĠĠĠĠĠĠĠ Ġval Ġleft Image Height Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr . get Dimension ( R . style able . Custom Edit Menu _ cem _ left _ image _ height , Ġdp 2 px ( 2 2 F )). toInt () ĊĠĠĠĠĠĠĠ Ġval Ġleft Image Left Margin Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr . get Dimension ( R . style able . Custom Edit Menu _ cem _ left _ image _ margin , Ġdp 2 px ( 2 0 F )). toInt () ĊĊĠĠĠĠĠĠĠ Ġval Ġleft Text Info Ġ= Ġarr . getText ( R . style able . Custom Edit Menu _ cem _ left _ text _ info ) ĊĠĠĠĠĠĠĠ Ġval Ġleft Text Size Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr . get Dimension Pixel Size ( R . style able . Custom Edit Menu _ cem _ left _ text _ size , Ġdp 2 px ( 1 4 F ). toInt ()). toFloat () ĊĠĠĠĠĠĠĠ Ġval Ġleft Text Left Margin Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr . get Dimension ( R . style able . Custom Edit Menu _ cem _ left _ text _ left _ margin , Ġdp 2 px ( 5 F )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toInt () ĊĠĠĠĠĠĠĠ Ġval Ġleft TextColor Ġ= Ġarr . getColor ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Custom Edit Menu _ cem _ left _ text _ color , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . getColor ( context , ĠR . color . color _ 3 3 3 3 3 3 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĊĠĠĠĠĠĠĠ Ġval Ġright Text Visible Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr . getBoolean ( R . style able . Custom Edit Menu _ cem _ right _ input _ visible , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġval Ġright Text Width Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr . get Dimension ( R . style able . Custom Edit Menu _ cem _ right _ input _ width , Ġdp 2 px ( 1 0 0 F )). toInt () ĊĠĠĠĠĠĠĠ Ġval Ġright Text Left Padding Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr . get Dimension ( R . style able . Custom Edit Menu _ cem _ right _ input _ left _ padding , Ġdp 2 px ( 5 F )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toInt () ĊĠĠĠĠĠĠĠ Ġval Ġright Text Right Padding Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr . get Dimension ( R . style able . Custom Edit Menu _ cem _ right _ input _ right _ padding , Ġdp 2 px ( 5 F )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toInt () ĊĠĠĠĠĠĠĠ Ġval Ġright Text Info Ġ= Ġarr . getText ( R . style able . Custom Edit Menu _ cem _ right _ input _ text ) ĊĠĠĠĠĠĠĠ Ġval Ġright Hint Text Info Ġ= Ġarr . getText ( R . style able . Custom Edit Menu _ cem _ right _ input _ hint _ text ) ĊĠĠĠĠĠĠĠ Ġval Ġright Text Size Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr . get Dimension Pixel Size ( R . style able . Custom Edit Menu _ cem _ right _ input _ text _ size , Ġ Ġdp 2 px ( 1 4 F ). toInt ()). toFloat () ĊĠĠĠĠĠĠĠ Ġval Ġright Text Length Ġ= Ġarr . getInt ( R . style able . Custom Edit Menu _ cem _ right _ input _ text _ length , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġright TextColor Ġ= Ġarr . getColor ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Custom Edit Menu _ cem _ right _ input _ text _ color , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . getColor ( context , ĠR . color . color _ 3 3 3 3 3 3 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġright Text Hint Color Ġ= Ġarr . getColor ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Custom Edit Menu _ cem _ right _ input _ hint _ color , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . getColor ( context , ĠR . color . color _ 9 9 9 9 9 9 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġright Text Right Margin Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr . get Dimension ( R . style able . Custom Edit Menu _ cem _ right _ input _ right _ margin , Ġdp 2 px ( 5 F )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toInt () ĊĠĠĠĠĠĠĠ Ġval Ġright InputType Ġ= Ġarr . getInt ( R . style able . Custom Edit Menu _ cem _ right _ input _ type , Ġ 0 ) ĊĊĊĠĠĠĠĠĠĠ Ġval Ġright Drawable Visible Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr . getBoolean ( R . style able . Custom Edit Menu _ cem _ right _ image _ visible , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġval Ġright Image Drawable Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr . get Drawable ( R . style able . Custom Edit Menu _ cem _ right _ image _ drawable ) ĊĠĠĠĠĠĠĠ Ġval Ġright Image Width Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr . get Dimension ( R . style able . Custom Edit Menu _ cem _ right _ image _ width , Ġdp 2 px ( 2 2 F )). toInt () ĊĠĠĠĠĠĠĠ Ġval Ġright Image Height Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr . get Dimension ( R . style able . Custom Edit Menu _ cem _ right _ image _ height , Ġdp 2 px ( 2 2 F )). toInt () ĊĠĠĠĠĠĠĠ Ġval Ġright Image Right Margin Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr . get Dimension ( R . style able . Custom Edit Menu _ cem _ right _ image _ right _ margin , Ġdp 2 px ( 2 0 F )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toInt () ĊĊĠĠĠĠĠĠĠ Ġval Ġbottom Divider Visible Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr . getBoolean ( R . style able . Custom Edit Menu _ cem _ bottom _ divider _ visible , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġbottom Divider Color Ġ= Ġarr . getColor ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Custom Edit Menu _ cem _ bottom _ divider _ color , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . getColor ( context , ĠR . color . color _ EEEE EE ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġbottom Divider Left Margin Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr . get Dimension ( R . style able . Custom Edit Menu _ cem _ bottom _ divider _ left _ margin , Ġdp 2 px ( 2 0 F )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toInt () ĊĠĠĠĠĠĠĠ Ġval Ġbottom Divider Right Margin Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr . get Dimension ( R . style able . Custom Edit Menu _ cem _ bottom _ divider _ right _ margin , Ġ 0 F ). toInt () ĊĊĠĠĠĠĠĠĠ Ġiv _ left _ icon _ menu . visibility Ġ= Ġif Ġ( left Image Visible ) ĠView . VISIBLE Ġelse ĠView . GONE ĊĠĠĠĠĠĠĠ Ġif Ġ( null Ġ!= Ġleft Image Drawable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ left _ icon _ menu . setImage Drawable ( left Image Drawable ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġleft Image Lp : ĠConstraint Layout . LayoutParams Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ left _ icon _ menu . layout Params Ġas ĠLayout Params ĊĠĠĠĠĠĠĠ Ġleft Image Lp . width Ġ= Ġleft Image Width ĊĠĠĠĠĠĠĠ Ġleft Image Lp . height Ġ= Ġleft Image Height ĊĠĠĠĠĠĠĠ Ġleft Image Lp . left Margin Ġ= Ġleft Image Left Margin ĊĠĠĠĠĠĠĠ Ġiv _ left _ icon _ menu . layout Params Ġ= Ġleft Image Lp ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ( left Text Info )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ left _ name _ menu . text Ġ= Ġleft Text Info ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ left _ name _ menu . setTextColor ( left TextColor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ left _ name _ menu . setText Size ( Typed Value . COMPLEX _ UNIT _ PX , Ġleft Text Size ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġleft Text Lp : ĠConstraint Layout . LayoutParams Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ left _ name _ menu . layout Params Ġas ĠLayout Params ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( left Image Visible ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Text Lp . margin Start Ġ= Ġleft Text Left Margin ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Text Lp . g one Start Margin Ġ= Ġleft Text Left Margin ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ left _ name _ menu . layout Params Ġ= Ġleft Text Lp ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġet _ right _ name _ menu . visibility Ġ= Ġif Ġ( right Text Visible ) ĠView . VISIBLE Ġelse ĠView . GONE ĊĠĠĠĠĠĠĠ Ġet _ right _ name _ menu . set Hint TextColor ( right Text Hint Color ) ĊĠĠĠĠĠĠĠ Ġet _ right _ name _ menu . setTextColor ( right TextColor ) ĊĠĠĠĠĠĠĠ Ġet _ right _ name _ menu . setText Size ( Typed Value . COMPLEX _ UNIT _ PX , Ġright Text Size ) ĊĠĠĠĠĠĠĠ Ġet _ right _ name _ menu . set Padding ( right Text Left Padding , Ġ 0 , Ġright Text Right Padding , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġet Lp Ġ= Ġet _ right _ name _ menu . layout Params Ġas ĠLayout Params ĊĠĠĠĠĠĠĠ Ġet Lp . width Ġ= Ġright Text Width ĊĠĠĠĠĠĠĠ Ġif Ġ( right Text Visible ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet Lp . margin End Ġ= Ġright Text Right Margin ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet Lp . g one End Margin Ġ= Ġright Text Right Margin ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġet _ right _ name _ menu . layout Params Ġ= Ġet Lp ĊĊĠĠĠĠĠĠĠ Ġif Ġ( right Text Length Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet _ right _ name _ menu . filters Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf < Input Filter >( Input Filter . Length Filter ( right Text Length )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( 1 Ġ== Ġright InputType ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet _ right _ name _ menu . input Type Ġ= Ġandroid . text . InputType . TYPE _ CLASS _ NUMBER ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ( right Hint Text Info )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet _ right _ name _ menu . hint Ġ= Ġright Hint Text Info ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ( right Text Info )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet _ right _ name _ menu . setText ( right Text Info ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġright Text Lp : ĠConstraint Layout . LayoutParams Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet _ right _ name _ menu . layout Params Ġas ĠLayout Params ĊĠĠĠĠĠĠĠ Ġif Ġ( right Drawable Visible ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġright Text Lp . margin End Ġ= Ġright Text Right Margin ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġright Text Lp . g one End Margin Ġ= Ġright Text Right Margin ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġet _ right _ name _ menu . layout Params Ġ= Ġright Text Lp ĊĊĊĠĠĠĠĠĠĠ Ġiv _ right _ icon _ menu . visibility Ġ= Ġif Ġ( right Drawable Visible ) ĠView . VISIBLE Ġelse ĠView . GONE ĊĠĠĠĠĠĠĠ Ġval Ġright Image Lp : ĠConstraint Layout . LayoutParams Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ right _ icon _ menu . layout Params Ġas ĠLayout Params ĊĠĠĠĠĠĠĠ Ġif Ġ( null Ġ!= Ġright Image Drawable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ right _ icon _ menu . setImage Drawable ( right Image Drawable ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġright Image Lp . margin End Ġ= Ġright Image Right Margin ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġright Image Lp . width Ġ= Ġright Image Width ĊĠĠĠĠĠĠĠ Ġright Image Lp . height Ġ= Ġright Image Height ĊĠĠĠĠĠĠĠ Ġiv _ right _ icon _ menu . layout Params Ġ= Ġright Image Lp ĊĊĠĠĠĠĠĠĠ Ġview _ bottom _ divider _ menu . visibility Ġ= Ġif Ġ( bottom Divider Visible ) ĠView . VISIBLE Ġelse ĠView . GONE ĊĠĠĠĠĠĠĠ Ġview _ bottom _ divider _ menu . set BackgroundColor ( bottom Divider Color ) ĊĠĠĠĠĠĠĠ Ġval Ġbottom Divider Lp : ĠConstraint Layout . LayoutParams Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview _ bottom _ divider _ menu . layout Params Ġas ĠLayout Params ĊĠĠĠĠĠĠĠ Ġbottom Divider Lp . left Margin Ġ= Ġbottom Divider Left Margin ĊĠĠĠĠĠĠĠ Ġbottom Divider Lp . right Margin Ġ= Ġbottom Divider Right Margin ĊĠĠĠĠĠĠĠ Ġview _ bottom _ divider _ menu . layout Params Ġ= Ġbottom Divider Lp ĊĊĠĠĠĠĠĠĠ Ġarr . recycle () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdp 2 px ( def : ĠFloat ): ĠFloat Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠTyped Value . apply Dimension ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTyped Value . COMPLEX _ UNIT _ DIP , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdef , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . resources . display Metrics ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® å·¦ ä¾§ åĽ¾ æłĩ æĺ¯åĲ¦ åı¯ è§ģ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Left Image Visible ( visible : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġiv _ left _ icon _ menu . visibility Ġ= Ġvisible ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® å·¦ ä¾§ åĽ¾ æłĩ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Left Image Drawable ( drawable : ĠDrawable ){ ĊĠĠĠĠĠĠĠ Ġiv _ left _ icon _ menu . setImage Drawable ( drawable ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® å·¦ ä¾§ æĸĩæľ¬ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Left Text ( text : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġtext ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ left _ name _ menu . text Ġ= Ġtext ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® å·¦ ä¾§ æĸĩæľ¬ åĴĮ åŃĹ ä½ĵ é¢ľèī² ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Left Text ( text : ĠString ?, @ Color Int Ġcolor : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtext ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ left _ name _ menu . text Ġ= Ġtext ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ left _ name _ menu . setTextColor ( color ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® åı³ ä¾§ è¾ĵåħ¥ æ¡Ĩ æĺ¯åĲ¦ åı¯ è§ģ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Right EditText Visible ( isVisible : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġet _ right _ name _ menu . visibility Ġ= Ġif Ġ( isVisible ) ĠView . VISIBLE Ġelse ĠView . GONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® åı³ ä¾§ è¾ĵåħ¥ æ¡Ĩ æĸĩæľ¬ åĴĮ é¢ľèī² ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Right EditText ( text : ĠString ?, @ Color Int Ġcolor : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtext ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet _ right _ name _ menu . setText ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet _ right _ name _ menu . setTextColor ( color ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® åı³ ä¾§ è¾ĵåħ¥ æ¡Ĩ æĸĩæľ¬ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Right EditText ( text : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġtext ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet _ right _ name _ menu . setText ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® åı³ ä¾§ è¾ĵåħ¥ æ¡Ĩ æıĲç¤º æĸĩæľ¬ åĴĮ é¢ľèī² ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Right Edit Hint Text ( text : ĠString ?, @ Color Int Ġcolor : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtext ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet _ right _ name _ menu . set Hint ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet _ right _ name _ menu . set Hint TextColor ( color ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® åı³ ä¾§ è¾ĵåħ¥ æ¡Ĩ æıĲç¤º æĸĩæľ¬ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Right Edit Hint Text ( text : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġtext ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet _ right _ name _ menu . setText ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® åı³ ä¾§ åĽ¾ æłĩ æĺ¯åĲ¦ åı¯ è§ģ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Right Image Visible ( visible : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġiv _ right _ icon _ menu . visibility Ġ= Ġvisible ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® åı³ ä¾§ åĽ¾ æłĩ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Right Image Drawable ( drawable : ĠDrawable ){ ĊĠĠĠĠĠĠĠ Ġiv _ right _ icon _ menu . setImage Drawable ( drawable ) ĊĠĠĠ Ġ} ĊĊ Ċ }