px 1px代表屏幕上一个物理的像素点;同样100px的图片,在不同手机上显示的实际大小可能不同,一般不建议使用
dip = dp
device independent pixels(设备独立像素)与“像素密度有关”,标准是160dip.即1dp对应1个pixel,,屏幕密度越大,1dp对应 的像素点越多,屏幕图像越细腻。
sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。
px与dp和sp之间的转换方法,常用语Android 自定义控件中画图。
这里写代码片//px转换为dppublic int dp2px(int dpVal){ return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dpVal, getResources().getDisplayMetrics()); //TypedValue.COMPLEX_UNIT_DIP表示想要得到的单位,dpVal是想要得到单位的数值 //getResources()这个方法就可以获取存在系统的资源 //getDisplayMetrics() } //px转换为sp public int sp2px(int spVal){ return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, spVal, getResources().getDisplayMetrics()); }新闻热点
疑难解答