package Ġcom . tz t . customize kt . di y . image Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . Motion Event Ċ import Ġandroidx . appcompat . widget . AppCompat ImageView Ċ import Ġcom . tz t . customize kt . R Ċ Ċ /** Ċ Ġ* Ċ Ġ*@ author Ġabc Ċ Ġ*@ time Ġ 2 0 1 9 / 9 / 1 2 Ġ 9 : 4 1 Ċ Ġ*/ Ċ class ĠScale ImageView Ġ: ĠAppCompat ImageView Ġ{ ĊĊĠĠĠ Ġvar Ġscale Ratio : ĠFloat Ġ= Ġ 1 . 2 f ĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġsuper ( context , Ġnull ) ĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?) Ġ: Ġsuper ( context , Ġattrs , Ġ 0 ) ĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?, Ġdef Style Attr : ĠInt ) Ġ: Ġsuper ( ĊĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠ Ġattrs , ĊĠĠĠĠĠĠĠ Ġdef Style Attr ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġattrs ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarray Ġ= Ġcontext . obtain Styled Attributes ( it , ĠR . style able . Scale ImageView ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( array . hasValue ( R . style able . Scale ImageView _ scale Ratio )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale Ratio Ġ= Ġarray . get Float ( R . style able . Scale ImageView _ scale Ratio , Ġscale Ratio ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarray . recycle () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġset Pressed ( pressed : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . set Pressed ( pressed ) ĊĠĠĠĠĠĠĠ ĠLog . e (" ** ", Ġ" ---- > pressed =$ pressed ") ĊĠĠĠĠĠĠĠ Ġif Ġ( pressed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscale X Ġ= Ġscale Ratio ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscale Y Ġ= Ġscale Ratio ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscale X Ġ= Ġ 1 . 0 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscale Y Ġ= Ġ 1 . 0 f ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Touch Event ( event : ĠMotion Event ): ĠBoolean Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġwhen Ġ( event . action Mask ed ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( event . action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMotion Event . ACTION _ DOWN Ġ-> Ġis Pressed Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMotion Event . ACTION _ MOVE Ġ-> Ġis Pressed Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMotion Event . ACTION _ UP , ĠMotion Event . ACTION _ CANCEL Ġ-> Ġis Pressed Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊ Ċ }