一、像素
(1)android支持的像素单位有:px(像素)、in(英寸)、mm(毫米)、pt(磅,1/72英寸)、dp(与设备无关的显示
单位)、dip(即dp)、sp(用于设置字体大小),常用的单位有px、dp和sp三种
(2)px是手机屏幕上可显示的最小单位,一般同样屏幕的手机看起来更清晰说明像素密度更高高,以px计量的分辨率更大
(3)sp专门用于设置字体大小;在手机系统里设置普通字体时,同数值dp和sp的文字看起来一样大;如果设置为大字体,
用dp设置的文字没有变化,用sp设置的文字就变大了
二、根据手机的分辨率从 dp 单位转成为 px
public static int dip2px(Context context, float dpValue) { // 获取当前手机的像素密度 final float scale = context.getResources().getDisplayMetrics().density; return (int)(dpValue * scale + 0.5f); // 四舍五入取整 }
三、根据手机的分辨率从 px 单位转成为 dp
public static int px2dip(Context context, float pxValue) { // 获取当前手机的像素密度 final float scale = context.getResources().getDisplayMetrics().density; return (int)(pxValue / scale + 0.5f); // 四舍五入取整 }