(转)Android

来源:互联网 发布:sqlserver集群 编辑:程序博客网 时间:2024/06/02 03:31

原地址:http://blog.csdn.net/u012246458/article/details/53518931


说明:

使用代码设置TextView需要转换px和sp的,并且getTextSize和setTextSize单位得到和设置的单位又是不一样的。

etTextSize和setTextSize:

getTextSize返回值是以像素(px)为单位的,而setTextSize()是以sp为单位的。

px和sp转换:

[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. /** 
  2.      * 将px值转换为sp值,保证文字大小不变 
  3.      * 
  4.      * @param pxValue 
  5.      * @return 
  6.      */  
  7.     public static int px2sp(float pxValue) {  
  8.         final float fontScale = getContext().getResources().getDisplayMetrics().scaledDensity;  
  9.         return (int) (pxValue / fontScale + 0.5f);  
  10.     }  
  11.   
  12.     /** 
  13.      * 将sp值转换为px值,保证文字大小不变 
  14.      * 
  15.      * @param spValue 
  16.      * @return 
  17.      */  
  18.     public static int sp2px(float spValue) {  
  19.         final float fontScale = getContext().getResources().getDisplayMetrics().scaledDensity;  
  20.         return (int) (spValue * fontScale + 0.5f);  
  21.     }

0 0
原创粉丝点击