Android设置有很多长度单位,dp、px等
px 像素,指屏幕上的一个点
in 英寸
mm 毫米
pt 磅,也就是1/72英寸
dp 有点类似于像素但是它这个像素和密度没有关系,是一种抽象单位,在每英寸160像素的屏幕上1dp=1px,如果在320像素的屏幕上,1dp=2px,也就是讲dp可以自适应大小
dip 这个和dp一样
sp 这个也和dp差不多但是它是和刻度无关,一般字体大小多用这个
这里选出最常用的px和dp,给出他们转化的方法
- /**
- *根据手机的分辨率从dp的单位转成为px(像素)
- */
- publicstaticintdip2px(Contextcontext,floatdpValue){
- finalfloatscale=context.getResources().getDisplayMetrics().density;
- return(int)(dpValue*scale+0.5f);
- }
- /**
- *根据手机的分辨率从px(像素)的单位转成为dp
- */
- publicstaticintpx2dip(Contextcontext,floatpxValue){
- finalfloatscale=context.getResources().getDisplayMetrics().density;
- return(int)(pxValue/scale+0.5f);
- }
要注意不要搞混哦!