Java代码:
public static
int dip2px(Context context, float dipValue){
final float scale = context.getResources().getDisplayMetrics().density;
return (int)(dipValue
* scale
+ 0.5f);
}
public static
int px2dip(Context context, float pxValue){
final float scale = context.getResource().getDisplayMetrics().density;
return (int)(pxValue
/ scale
+ 0.5f);
}
public static
int dip2px(Context context, float dipValue){
final float scale = context.getResources().getDisplayMetrics().density;
return (int)(dipValue
* scale
+ 0.5f);
}
public static
int px2dip(Context context, float pxValue){
final float scale = context.getResource().getDisplayMetrics().density;
return (int)(pxValue
/ scale
+ 0.5f);
}
px (pixels)像素 -- 一般我们HVGA代表320x480像素,这个用的比较多。
dip或dp (device independent pixels)设备独立像素 -- 这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA cwj推荐使用这个,不依赖像素。
sp (scaled pixels — best for text size)放大像素-- 主要处理字体的大小。
下面的几个是不常用的,大家也知道。这里就不再过多的赘述,希望对你有所帮助!
in (inches)英寸
mm (millimeters)毫米
pt (points)点
Android UI单位转换
本文介绍了Android开发中px、dip(dp)和sp的区别,并提供了Java代码实现这些单位之间的相互转换。px代表像素,dip(dp)为设备独立像素,适用于不同分辨率的屏幕,而sp用于文本大小调整。
2686

被折叠的 条评论
为什么被折叠?



