package Ġcom . engine er . imit ate . ui . widget . custom . loading Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . Paint Ċ import Ġandroid . graphics . Rect F Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . View Ċ Ċ /** Ċ Ġ* Ġauthor Ġ: Ġengineer Ċ Ġ* Ġe - mail Ġ: Ġy ing k ong shi 1 1 @ gmail . com Ċ Ġ* Ġtime ĠĠ Ġ: Ġ 2 0 1 8 / 1 / 1 4 Ċ Ġ* Ġdesc ĠĠ Ġ: Ċ Ġ* Ġversion : Ġ 1 . 0 Ċ Ġ*/ Ċ class ĠProgress View Ġ: ĠView Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Circle Paint : ĠPaint ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Arc Paint : ĠPaint ĊĊĠĠĠ Ġprivate Ġval ĠWH ITE Ġ= ĠColor . WHITE ĊĠĠĠ Ġprivate Ġval ĠRED Ġ= ĠColor . RED ĊĊĠĠĠ Ġprivate Ġvar Ġcenter X Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġcenter Y Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġradius Ġ= Ġ 0 ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Rect F : ĠRect F ĊĊĠĠĠ Ġ// ĊĠĠĠ Ġprivate Ġvar Ġdegree Ġ= Ġ 0 f ĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġsuper ( context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit Paint ( context ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?) Ġ: Ġsuper ( context , Ġattrs ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit Paint ( context ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?, Ġdef Style Attr : ĠInt ) Ġ: Ġsuper ( ĊĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠ Ġattrs , ĊĠĠĠĠĠĠĠ Ġdef Style Attr ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit Paint ( context ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Paint ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Circle Paint Ġ= ĠPaint ( Paint . ANTI _ ALIAS _ FLAG ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠWH ITE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstrokeWidth Ġ= Ġ 8 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠPaint . Style . ST RO KE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Arc Paint Ġ= ĠPaint ( Paint . ANTI _ ALIAS _ FLAG ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠRED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠPaint . Style . ST RO KE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstrokeWidth Ġ= Ġ 8 f ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Progress ( percent : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdegree Ġ= Ġpercent Ġ* Ġ 3 6 0 ĊĠĠĠĠĠĠĠ Ġinvalidate () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Draw ( canvas : ĠCanvas ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Draw ( canvas ) ĊĠĠĠĠĠĠĠ Ġcanvas . draw Circle ( center X . toFloat (), Ġcenter Y . toFloat (), Ġradius . toFloat (), Ġm Circle Paint ) ĊĠĠĠĠĠĠĠ Ġcanvas . draw Arc ( m Rect F , Ġ- 9 0 f , Ġdegree , Ġfalse , Ġm Arc Paint ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Size Changed ( w : ĠInt , Ġh : ĠInt , Ġold w : ĠInt , Ġold h : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Size Changed ( w , Ġh , Ġold w , Ġold h ) ĊĠĠĠĠĠĠĠ Ġm Rect F Ġ= ĠRect F ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( center X Ġ- Ġradius ). toFloat (), Ġ( center Y Ġ- Ġradius ). toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( center X Ġ+ Ġradius ). toFloat (), Ġ( center Y Ġ+ Ġradius ). toFloat () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Measure ( width Measure Spec : ĠInt , Ġheight Measure Spec : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Measure ( width Measure Spec , Ġheight Measure Spec ) ĊĠĠĠĠĠĠĠ Ġval Ġmin Ġ= Ġmeasured Height . coerce At Most ( meas ured Width ) ĊĠĠĠĠĠĠĠ Ġ// Ġ è§Ħ å®ļ è§ĨåĽ¾ å¤§å°ı ä¸º åĴĮ å±ı å¹ķ åĲĮ å®½ çļĦ æŃ£ æĸ¹ å½¢ ĊĠĠĠĠĠĠĠ Ġset Measured Dimension ( min , Ġmin ) ĊĠĠĠĠĠĠĠ Ġcenter X Ġ= Ġmin Ġ/ Ġ 2 ĊĠĠĠĠĠĠĠ Ġcenter Y Ġ= Ġmin Ġ/ Ġ 2 ĊĠĠĠĠĠĠĠ Ġradius Ġ= Ġmin Ġ/ Ġ 2 Ġ- Ġ 4 ĊĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġ" on Measure : Ġradius =$ radius ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" Clock View " ĊĠĠĠ Ġ} Ċ }