package Ġgithub . xu qk . k dt ab layout Ċ Ċ import Ġandroid . animation . Type Evaluator Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . Paint Ċ import Ġandroid . util . Log Ċ import Ġandroid . util . Typed Value ĊĊ Ċ /** Ċ Ġ* ĠCreated ĠBy ï¼ļ Xu QK Ċ Ġ* ĠCreated ĠDate ï¼ļ 2 / 1 5 / 2 0 Ġ 9 : 1 1 ĠPM Ċ Ġ* ĠCreator ĠEmail ï¼ļ xu qi ank un 6 6 @ gmail . com Ċ Ġ* ĠDescription ï¼ļ Ċ Ġ*/ Ċ Ċ internal Ġfun Ġlog ( any : ĠAny ?) Ġ{ ĊĠĠĠ ĠLog . d (" KD Tag Layout ", Ġany . toString ()) Ċ } Ċ Ċ internal Ġfun Ġdp To Px ( context : ĠContext , Ġdp : ĠFloat ): ĠInt Ġ{ ĊĠĠĠ Ġreturn ĠTyped Value . apply Dimension ( Typed Value . COMPLEX _ UNIT _ DIP , Ġdp , Ġcontext . resources . display Metrics ). toInt () Ċ } Ċ Ċ /** Ċ Ġ* Ġèİ·åıĸ baseline ç¦» ä¸Ń çº¿ çļĦ è·Ŀç¦» Ċ Ġ*/ Ċ fun ĠPaint . Font Metrics . get Baseline To Center (): ĠFloat Ġ{ ĊĠĠĠ Ġreturn Ġ( desc ent Ġ- Ġas cent ) Ġ/ Ġ 2 Ġ- Ġdesc ent Ċ } Ċ Ċ class ĠH sv Evaluator Ġ: ĠType Evaluator < Int > Ġ{ ĊĠĠĠ Ġvar Ġstart H sv Ġ= ĠFloat Array ( 3 ) ĊĠĠĠ Ġvar Ġend H sv Ġ= ĠFloat Array ( 3 ) ĊĠĠĠ Ġvar Ġout H sv Ġ= ĠFloat Array ( 3 ) ĊĠĠĠ Ġoverride Ġfun Ġevaluate ( ĊĠĠĠĠĠĠĠ Ġfraction : ĠFloat , ĊĠĠĠĠĠĠĠ Ġstart Value : ĠInt , ĊĠĠĠĠĠĠĠ Ġend Value : ĠInt ĊĠĠĠ Ġ): ĠInt Ġ{ Ġ// ĠæĬ Ĭ ĠAR GB Ġ è½¬æį¢ æĪĲ ĠH SV ĊĠĠĠĠĠĠĠ ĠColor . color To H SV ( start Value , Ġstart H sv ) ĊĠĠĠĠĠĠĠ ĠColor . color To H SV ( end Value , Ġend H sv ) ĊĠĠĠĠĠĠĠ Ġ// Ġ è®¡ç®Ĺ å½ĵåīį åĬ¨çĶ» å®ĮæĪĲ åº¦ ï¼Ī fraction ï¼ī æīĢ å¯¹åºĶçļĦ é¢ľèī² åĢ¼ ĊĠĠĠĠĠĠĠ Ġif Ġ( end H sv [ 0 ] Ġ- Ġstart H sv [ 0 ] Ġ> Ġ 1 8 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend H sv [ 0 ] Ġ= Ġend H sv [ 0 ] Ġ- Ġ 3 6 0 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( end H sv [ 0 ] Ġ- Ġstart H sv [ 0 ] Ġ< Ġ- 1 8 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend H sv [ 0 ] Ġ= Ġend H sv [ 0 ] Ġ+ Ġ 3 6 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġout H sv [ 0 ] Ġ= Ġstart H sv [ 0 ] Ġ+ Ġ( end H sv [ 0 ] Ġ- Ġstart H sv [ 0 ]) Ġ* Ġfraction ĊĠĠĠĠĠĠĠ Ġif Ġ( out H sv [ 0 ] Ġ> Ġ 3 6 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġout H sv [ 0 ] Ġ= Ġout H sv [ 0 ] Ġ- Ġ 3 6 0 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( out H sv [ 0 ] Ġ< Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġout H sv [ 0 ] Ġ= Ġout H sv [ 0 ] Ġ+ Ġ 3 6 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġout H sv [ 1 ] Ġ= Ġstart H sv [ 1 ] Ġ+ Ġ( end H sv [ 1 ] Ġ- Ġstart H sv [ 1 ]) Ġ* Ġfraction ĊĠĠĠĠĠĠĠ Ġout H sv [ 2 ] Ġ= Ġstart H sv [ 2 ] Ġ+ Ġ( end H sv [ 2 ] Ġ- Ġstart H sv [ 2 ]) Ġ* Ġfraction ĊĠĠĠĠĠĠĠ Ġ// Ġ è®¡ç®Ĺ å½ĵåīį åĬ¨çĶ» å®ĮæĪĲ åº¦ ï¼Ī fraction ï¼ī æīĢ å¯¹åºĶçļĦ éĢı æĺİ åº¦ ĊĠĠĠĠĠĠĠ Ġval Ġalpha Ġ= Ġ( start Value . ush r ( 2 4 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( end Value . ush r ( 2 4 ) Ġ- Ġstart Value . ush r ( 2 4 )) Ġ* Ġfraction ). toInt () ĊĠĠĠĠĠĠĠ Ġ// ĠæĬ Ĭ ĠH SV Ġ è½¬æį¢ åĽŀ ĠAR GB Ġè¿ĶåĽŀ ĊĠĠĠĠĠĠĠ Ġreturn ĠColor . H SV To Color ( alpha , Ġout H sv ) ĊĠĠĠ Ġ} Ċ }