在Android的布局文件中,往往使用dp作为控件的宽度和高度尺寸,但是在Java代码中,调用getWidth()方法获得的尺寸单位
却是像素px,这两个单位有明显的区别:dp和屏幕的密度有关,而px与屏幕密度无关,所以使用时经常会涉及到两
者之间的互相转化,代码示例如下:
public
int Dp2Px(Context context, float dp) {
final float scale =
context.getResources().getDisplayMetrics().density;
return (int) (dp * scale + 0.5f);
}
public
int Px2Dp(Context context, float px) {
final float scale =
context.getResources().getDisplayMetrics().density;
return (int) (px / scale + 0.5f);
}
相关文章
- 11-14Android适配:dp,sp和px的区别
- 11-14Android之dp(相对大小) 和 px(像素)之间的相互转换
- 11-14Android系统中的dp和px的转换
- 11-14在Android中,px,dp,dip,sp的不同之处
- 11-14Android开发中dp、dpi、px的区别(转)
- 11-14Android中dip, dp, px,pt, sp之间的区别:
- 11-14Android 中dp和px
- 11-14在Android中,px,dp,dip,sp的不同之处
- 11-14android中根据不同分辨率dp和px的相互转算
- 11-14android中的长度单位,dip、dp、px、sp及获取屏幕分辨率和密度