package Ġcom . ang cy o . widget . drawable Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . Gravity Ċ import Ġcom . ang cy o . drawable . text . Dsl Badge Drawable Ċ import Ġcom . ang cy o . library . ex . dpi Ċ import Ġcom . ang cy o . widget . R Ċ Ċ /** Ċ Ġ* Ġ è§Ĵ æłĩ Ċ Ġ* ĠEmail : ang cy o @ 1 2 6 . com Ċ Ġ* Ġ@ author Ġang cy o Ċ Ġ* Ġ@ date Ġ 2 0 1 9 / 1 2 / 1 3 Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 9 ĠSh en Z hen ĠO & M ĠCloud ĠCo ., ĠLtd . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ open Ġclass ĠD sl Attr Badge Drawable Ġ: ĠD sl Badge Drawable () Ġ{ ĊĊĠĠĠ Ġvar Ġdraw Badge : ĠBoolean Ġ= Ġtrue ĊĊĠĠĠ Ġoverride Ġfun Ġinit Attribute ( context : ĠContext , Ġattribute Set : ĠAttributeSet ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtyped Array Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . obtain Styled Attributes ( attribute Set , ĠR . style able . Dsl Attr Badge Drawable ) ĊĠĠĠĠĠĠĠ Ġdraw Badge Ġ= Ġtyped Array . getBoolean ( R . style able . Dsl Attr Badge Drawable _ r _ draw _ badge , Ġdraw Badge ) ĊĠĠĠĠĠĠĠ Ġgradient Solid Color Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtyped Array . getColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Dsl Attr Badge Drawable _ r _ badge _ solid _ color , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColor . RED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġbadge TextColor Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtyped Array . getColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Dsl Attr Badge Drawable _ r _ badge _ text _ color , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColor . WHITE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġbadge Gravity Ġ= Ġtyped Array . getInt ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Dsl Attr Badge Drawable _ r _ badge _ gravity , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGr avity . TOP Ġor ĠGr avity . RIGHT ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġbadge Offset X Ġ= Ġtyped Array . get Dimension Pixel Offset ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Dsl Attr Badge Drawable _ r _ badge _ offset _ x , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ* Ġdpi ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġbadge Circle Radius Ġ= Ġtyped Array . get Dimension Pixel Offset ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Dsl Attr Badge Drawable _ r _ badge _ circle _ radius , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ* Ġdpi ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġbadge Radius Ġ= Ġtyped Array . get Dimension Pixel Offset ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Dsl Attr Badge Drawable _ r _ badge _ radius , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 Ġ* Ġdpi ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġcorner Radius ( badge Radius . toFloat ()) ĊĠĠĠĠĠĠĠ Ġbadge Offset Y Ġ= Ġtyped Array . get Dimension Pixel Offset ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Dsl Attr Badge Drawable _ r _ badge _ offset _ y , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ* Ġdpi ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġbadge Padding Left Ġ= Ġtyped Array . get Dimension Pixel Offset ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Dsl Attr Badge Drawable _ r _ badge _ padding _ left , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ* Ġdpi ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġbadge Padding Right Ġ= Ġtyped Array . get Dimension Pixel Offset ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Dsl Attr Badge Drawable _ r _ badge _ padding _ right , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ* Ġdpi ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġbadge Padding Top Ġ= Ġtyped Array . get Dimension Pixel Offset ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Dsl Attr Badge Drawable _ r _ badge _ padding _ top , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġbadge Padding Bottom Ġ= Ġtyped Array . get Dimension Pixel Offset ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Dsl Attr Badge Drawable _ r _ badge _ padding _ bottom , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġbadge Text Ġ= Ġtyped Array . getString ( R . style able . Dsl Attr Badge Drawable _ r _ badge _ text ) ĊĠĠĠĠĠĠĠ Ġbadge Text Size Ġ= Ġtyped Array . get Dimension Pixel Offset ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Dsl Attr Badge Drawable _ r _ badge _ text _ size , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 2 Ġ* Ġdpi ĊĠĠĠĠĠĠĠ Ġ). toFloat () ĊĊĠĠĠĠĠĠĠ Ġ// èĩªå®ļä¹ī çļĦ èĥĮæĻ¯ ĊĠĠĠĠĠĠĠ Ġorigin Drawable Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtyped Array . get Drawable ( R . style able . Dsl Attr Badge Drawable _ r _ badge _ bg _ drawable ) ĊĊĠĠĠĠĠĠĠ Ġbadge Text Offset X Ġ= Ġtyped Array . get Dimension Pixel Offset ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Dsl Attr Badge Drawable _ r _ badge _ text _ offset _ x , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbadge Text Offset X ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġbadge Text Offset Y Ġ= Ġtyped Array . get Dimension Pixel Offset ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Dsl Attr Badge Drawable _ r _ badge _ text _ offset _ y , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbadge Text Offset Y ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġbadge Circle Offset X Ġ= Ġtyped Array . get Dimension Pixel Offset ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Dsl Attr Badge Drawable _ r _ badge _ circle _ offset _ x , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbadge Offset X ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġbadge Circle Offset Y Ġ= Ġtyped Array . get Dimension Pixel Offset ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Dsl Attr Badge Drawable _ r _ badge _ circle _ offset _ y , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbadge Offset Y ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġtyped Array . recycle () ĊĠĠĠĠĠĠĠ Ġsuper . init Attribute ( context , Ġattribute Set ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdraw ( canvas : ĠCanvas ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( draw Badge ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . draw ( canvas ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }