package Ġcom . jn . k ik uk t . common . utils Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Display Metrics Ċ import Ġandroid . util . Typed Value Ċ Ċ /** Ċ Ġ* ĠAuthor ï¼ļ St ev ie . Ch en ĠTime ï¼ļ 2 0 1 9 / 7 / 1 2 Ċ Ġ* ĠClass ĠComment ï¼ļ Ċ Ġ*/ Ċ Ċ /** Ċ Ġ* Ġdp è½¬ px Ċ Ġ*/ Ċ fun ĠContext . dp 2 px ( dp Val : ĠFloat ): ĠFloat Ġ{ ĊĠĠĠ Ġreturn ĠTyped Value . apply Dimension ( ĊĠĠĠĠĠĠĠ ĠTyped Value . COMPLEX _ UNIT _ DIP , ĊĠĠĠĠĠĠĠ Ġdp Val , ĊĠĠĠĠĠĠĠ Ġresources . display Metrics ĊĠĠĠ Ġ) Ċ } Ċ Ċ /** Ċ Ġ* Ġpx è½¬ dp Ċ Ġ*/ Ċ fun ĠContext . px 2 dp ( px Val : ĠFloat ): ĠFloat Ġ{ ĊĠĠĠ Ġval Ġscale Ġ= Ġresources . display Metrics . density ĊĠĠĠ Ġreturn Ġpx Val Ġ/ Ġscale Ċ } Ċ Ċ /** Ċ Ġ* Ġsp è½¬ px Ċ Ġ*/ Ċ fun ĠContext . sp 2 px ( sp Val : ĠFloat ): ĠFloat Ġ{ ĊĠĠĠ Ġreturn ĠTyped Value . apply Dimension ( ĊĠĠĠĠĠĠĠ ĠTyped Value . COMPLEX _ UNIT _ SP , ĊĠĠĠĠĠĠĠ Ġsp Val , ĊĠĠĠĠĠĠĠ Ġresources . display Metrics ĊĠĠĠ Ġ) Ċ } Ċ Ċ /** Ċ Ġ* Ġpx è½¬ sp Ċ Ġ*/ Ċ fun ĠContext . px 2 sp ( px Val : ĠFloat ): ĠFloat Ġ{ ĊĠĠĠ Ġreturn Ġpx Val Ġ/ Ġresources . display Metrics . scaled Density Ċ } Ċ Ċ /** Ċ Ġ* Ġèİ·åıĸ dp Ċ Ġ*/ Ċ fun ĠContext . getInt Dip ( value : ĠFloat ): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġget Float Dip ( value ). toInt () Ċ } Ċ Ċ /** Ċ Ġ* Ġèİ·åıĸ dp Ċ Ġ*/ Ċ fun ĠContext . get Float Dip ( value : ĠFloat ): ĠFloat Ġ{ ĊĠĠĠ Ġreturn Ġresources . display Metrics . density Ġ* Ġvalue Ċ } Ċ Ċ /** Ċ Ġ* Ġæł¹æį® æĶ¶éĽĨ çļĦ åĪĨ è¾ ¨ çİĩ æĮĩå®ļ åŃĹ ä½ĵ çļĦ å¤§å°ı Ċ Ġ*/ Ċ fun ĠContext . pixels To Dip (): ĠInt Ġ{ ĊĠĠĠ Ġval Ġdm Ġ= ĠDisplay Metrics () ĊĠĠĠ Ġif Ġ( this Ġis ĠActivity ) ĊĠĠĠĠĠĠĠ Ġthis . window Manager . default Display . get Metrics ( dm ) ĊĠĠĠ Ġvar Ġscreen Width Ġ= Ġdm . width Pixels ĊĠĠĠ Ġval Ġscreen Height Ġ= Ġdm . height Pixels ĊĠĠĠ Ġscreen Width Ġ= Ġif Ġ( screen Width Ġ> Ġscreen Height ) Ġscreen Width Ġelse Ġscreen Height ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ 1 . Ġåľ¨ è§ĨåĽ¾ çļĦ Ġon size changed éĩĮ èİ·åıĸ è§ĨåĽ¾ å®½åº¦ ï¼Į ä¸ĢèĪ¬ æĥħåĨµä¸ĭ é»ĺè®¤ å®½åº¦ æĺ¯ 3 2 0 ï¼Į æīĢä»¥ è®¡ç®Ĺ ä¸Ģä¸ª ç¼© æĶ¾ æ¯Ķ çİĩ ĊĠĠĠ Ġrate Ġ= Ġ( float ) Ġw / 3 2 0 ĠĠ Ġw æĺ¯ å®ŀéĻħ å®½åº¦ ĊĠĠĠĠ 2 . çĦ¶åĲİ åľ¨ è®¾ç½® åŃĹ ä½ĵ å° º å¯ ¸ æĹ¶ Ġpaint . setText Size (( int )( 8 * rate )); ĠĠĠ 8 æĺ¯åľ¨ åĪĨ è¾ ¨ çİĩ å®½ ä¸º 3 2 0 Ġä¸ĭ éľĢè¦ģ è®¾ç½® çļĦ åŃĹ ä½ĵ å¤§å°ı ĊĠĠĠ Ġ å®ŀéĻħ åŃĹ ä½ĵ å¤§å°ı Ġ= Ġé»ĺè®¤ åŃĹ ä½ĵ å¤§å°ı Ġx Ġ Ġrate ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġrate Ġ= Ġ( 3 Ġ* Ġscreen Width . toFloat () Ġ/ Ġ 3 2 0 ). toInt () Ġ// æĪĳ èĩªå·± æµĭè¯ķ è¿Ļä¸ª åĢ į æķ° æ¯Ķè¾ĥ éĢĤ åĲĪ ï¼Į å½ĵçĦ¶ ä½łåı¯ä»¥ æµĭè¯ķ åĲİ åĨį ä¿®æĶ¹ ĊĠĠĠ Ġreturn Ġif Ġ( rate Ġ< Ġ 1 5 ) Ġ 1 5 Ġelse Ġrate Ġ// åŃĹ ä½ĵ å¤ª å°ı ä¹Ł ä¸į å¥½ çľĭ çļĦ Ċ }