package Ġcom . w uh en zh iz ao . adapter . example . widget Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġcom . w uh en zh iz ao . adapter . example . image . Draw ee ImageView Ċ import Ġcom . w uh en zh iz ao . adapter . example . R Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġli ufe i Ġon Ġ 2 0 1 7 / 1 0 / 1 7 . Ċ Ġ*/ Ċ class ĠR atio ImageView Ġ: ĠDraw ee ImageView Ġ{ ĊĠĠĠ Ġvar Ġwidth Percent : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġheight Percent : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ) Ġ: Ġsuper ( context , Ġattrs ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit Values ( context , Ġattrs ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet , Ġdef Style Attr : ĠInt ) Ġ: Ġsuper ( context , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit Values ( context , Ġattrs ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Values ( context : ĠContext , Ġattrs : ĠAttributeSet ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġarray Ġ= Ġcontext . obtain Styled Attributes ( attrs , ĠR . style able . Ratio ImageView ) ĊĊĠĠĠĠĠĠĠ Ġwidth Percent Ġ= Ġarray . getInteger ( R . style able . Ratio ImageView _ width Percent , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġheight Percent Ġ= Ġarray . getInteger ( R . style able . Ratio ImageView _ height Percent , Ġ 1 ) ĊĊĠĠĠĠĠĠĠ Ġarray . recycle () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Measure ( width Measure Spec : ĠInt , Ġheight Measure Spec : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġheight Measure Spec Ġ= Ġheight Measure Spec ĊĠĠĠĠĠĠĠ Ġval Ġwidth Mode Ġ= ĠMeasure Spec . get Mode ( width Measure Spec ) ĊĠĠĠĠĠĠĠ Ġval Ġheight Mode Ġ= ĠMeasure Spec . get Mode ( height Measure Spec ) ĊĊĠĠĠĠĠĠĠ Ġval Ġwidth Size Ġ= ĠMeasure Spec . getSize ( width Measure Spec ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( width Mode Ġ== ĠMeasure Spec . EX ACT LY Ġ&& Ġheight Mode Ġ!= ĠMeasure Spec . EX ACT LY ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ 1 . Ġæł¹æį® å¸ĥå±Ģ å®½åº¦ æİ¨ ç®Ĺ åĽ¾çīĩ å®½åº¦ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimage Width Ġ= Ġwidth Size Ġ- Ġpadding Left Ġ- Ġpadding Right ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ 2 . Ġæł¹æį® åĽ¾çīĩ å®½åº¦ åĴĮ å®½ é«ĺ æ¯Ķ , æİ¨ ç®Ĺ åĽ¾çīĩ é«ĺåº¦ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimage Height Ġ= Ġimage Width Ġ* Ġheight Percent Ġ/ Ġwidth Percent ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ 3 . Ġæł¹æį® åĽ¾çīĩ é«ĺåº¦ , Ġ æİ¨ ç®Ĺ å¸ĥå±Ģ é«ĺåº¦ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġheight Size Ġ= Ġimage Height Ġ+ Ġpadding Top Ġ+ Ġpadding Bottom ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ 4 . Ġæł¹æį® å¸ĥå±Ģ é«ĺåº¦ , Ġ æİ¨ ç®Ĺ height Measure Spec ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheight Measure Spec Ġ= ĠMeasure Spec . make Measure Spec ( height Size , ĠMeasure Spec . EX ACT LY ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsuper . on Measure ( width Measure Spec , Ġheight Measure Spec ) ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ