package Ġcom . nice . base library . widget Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . Gravity Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Image Button Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . Switch Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . constraint layout . widget . Constraint Layout Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġcom . nice . base library . R Ċ Ċ /** Ċ Ġ* Ġ@ author ĠJ Plus Ċ Ġ* Ġ@ date Ġ 2 0 2 0 / 4 / 2 3 . Ċ Ġ*/ Ċ class ĠJ Item View Ġ: ĠConstraint Layout Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSW ITCH _ TYPE Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠNORMAL _ TYPE Ġ= Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġm Left TextView : ĠTextView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Right TextView : ĠTextView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Middle TextView : ĠTextView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Left Img Btn : ĠImage Button ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Right Img Btn : ĠImage Button ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Switch : ĠSwitch ? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġsuper ( context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit View ( context , Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattr : ĠAttributeSet ?) Ġ: Ġsuper ( context , Ġattr ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit View ( context , Ġattr ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattribute Set : ĠAttributeSet ?, Ġdef Style Attr : ĠInt ) Ġ: Ġsuper ( context , Ġattribute Set , Ġdef Style Attr ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit View ( context , Ġattribute Set ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View ( context : ĠContext , Ġattribute Set : ĠAttributeSet ?) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġtype Array Ġ= Ġcontext . obtain Styled Attributes ( attribute Set , ĠR . style able . J Item View ) ĊĊĠĠĠĠĠĠĠ Ġval Ġleft Text Ġ= Ġtype Array . getString ( R . style able . J Item View _ left _ text ) ĊĠĠĠĠĠĠĠ Ġval Ġright Text Ġ= Ġtype Array . getString ( R . style able . J Item View _ right _ text ) ĊĠĠĠĠĠĠĠ Ġval Ġmiddle Text Ġ= Ġtype Array . getString ( R . style able . J Item View _ middle _ text ) ĊĊĠĠĠĠĠĠĠ Ġval Ġleft Img Ġ= Ġtype Array . get Drawable ( R . style able . J Item View _ left _ img ) ĊĠĠĠĠĠĠĠ Ġval Ġright Img Ġ= Ġtype Array . get Drawable ( R . style able . J Item View _ right _ img ) ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġtype Array . getInt ( R . style able . J Item View _ view _ type , ĠNORMAL _ TYPE ) ĊĠĠĠĠĠĠĠ Ġval Ġis Show Ġ= Ġtype Array . getBoolean ( R . style able . J Item View _ show _ divider , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġval Ġleft Color Ġ= Ġtype Array . getColor ( R . style able . J Item View _ left _ text _ color , ĠContext Compat . getColor ( context , ĠR . color . black )) ĊĠĠĠĠĠĠĠ Ġval Ġmiddle Color Ġ= Ġtype Array . getColor ( R . style able . J Item View _ middle _ text _ color , ĠContext Compat . getColor ( context , ĠR . color . black )) ĊĠĠĠĠĠĠĠ Ġval Ġright Color Ġ= Ġtype Array . getColor ( R . style able . J Item View _ right _ text _ color , ĠContext Compat . getColor ( context , ĠR . color . black )) ĊĠĠĠĠĠĠĠ Ġtype Array . recycle () ĊĠĠĠĠĠĠĠ ĠLayoutInflater . from ( context ). inflate ( R . layout . layout _ item _ view , Ġthis )?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Left TextView Ġ= Ġit . findViewById ( R . id . tv _ left _ item _ view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Middle TextView Ġ= Ġit . findViewById ( R . id . tv _ middle _ item _ view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Right TextView Ġ= Ġit . findViewById ( R . id . tv _ right _ item _ view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Left Img Btn Ġ= Ġit . findViewById ( R . id . im b _ left _ item _ view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Right Img Btn Ġ= Ġit . findViewById ( R . id . im b _ right _ item _ view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Switch Ġ= Ġit . findViewById ( R . id . sw _ right _ item _ view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . findViewById < Base Divider >( R . id . bd v _ bottom _ line )?. visibility Ġ= Ġif ( is Show ) ĠView . VISIBLE Ġelse ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNORMAL _ TYPE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Right Img Btn ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Right TextView ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Switch ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSW ITCH _ TYPE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Switch ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Right Img Btn ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Right TextView ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġset Left Title ( left Text , Ġleft Color ) ĊĠĠĠĠĠĠĠ Ġset Middle Title ( middle Text , Ġmiddle Color ) ĊĠĠĠĠĠĠĠ Ġset Right Title ( right Text , Ġright Color ) ĊĊĠĠĠĠĠĠĠ Ġset Left Img ( left Img ) ĊĠĠĠĠĠĠĠ Ġset Right Img ( right Img ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Draw ( canvas : ĠCanvas ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Draw ( canvas ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® å·¦ è¾¹ åĽ¾çīĩ ĊĠĠĠĠ Ġ* Ġ@ param Ġdrawable ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Left Img ( drawable : ĠDrawable ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġdrawable ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Left Img Btn ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Left Img Btn ?. setImage Drawable ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® åı³ è¾¹ åĽ¾çīĩ ĊĠĠĠĠ Ġ* Ġ@ param Ġdrawable ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Right Img ( drawable : ĠDrawable ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġdrawable ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Right Img Btn ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Right Img Btn ?. setImage Drawable ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® ä¸ŃéĹ´ æĸĩæľ¬ ĊĠĠĠĠ Ġ* Ġ@ param Ġtitle ĊĠĠĠĠ Ġ* Ġ@ param Ġcolor ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Middle Title ( title : ĠString ?, Ġcolor : ĠInt ? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Middle TextView ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġm Middle TextView ?. gravity Ġ= ĠGr avity . CENTER ĊĠĠĠĠĠĠĠ Ġm Middle TextView ?. text Ġ= Ġtitle ĊĠĠĠĠĠĠĠ Ġcolor ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Middle TextView ?. setTextColor ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® å·¦ æĸĩæľ¬ ĊĠĠĠĠ Ġ* Ġ@ param Ġtitle ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Left Title ( title : ĠString ?, Ġcolor : ĠInt ? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Left TextView ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġm Left TextView ?. gravity Ġ= ĠGr avity . CENTER ĊĠĠĠĠĠĠĠ Ġm Left TextView ?. text Ġ= Ġtitle ĊĠĠĠĠĠĠĠ Ġcolor ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Left TextView ?. setTextColor ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® åı³ æĸĩæľ¬ ĊĠĠĠĠ Ġ* Ġ@ param Ġtitle ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Right Title ( title : ĠString ?, Ġcolor : ĠInt ? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Right TextView ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġm Right TextView ?. gravity Ġ= ĠGr avity . CENTER ĊĠĠĠĠĠĠĠ Ġm Right TextView ?. text Ġ= Ġtitle ĊĠĠĠĠĠĠĠ Ġcolor ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Right TextView ?. setTextColor ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Left TextView (): ĠTextView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Left TextView ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġge Right TextView (): ĠTextView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Right TextView ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Middle TextView (): ĠTextView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Middle TextView ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Left Img Btn (): ĠImage Button ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Left Img Btn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Right Img Btn (): ĠImage Button ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Right Img Btn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Switch (): ĠSwitch ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Switch ĊĠĠĠ Ġ} Ċ }