您的位置:首页 > 移动开发 > Android开发

Android屏幕适配总结(二)

2016-11-10 15:05 357 查看
dpi,dp和px的关系:(160dpi为基准)--注意:下面的这个1dp=3px不是换算公式哦,换算公式应该是px=3dp






240dpi为基准:






dp和px的换算公式: px=(dp*dpi)/160        dp=(px*160)/dpi

dp和px的转换代码:

public class DensityUtil {

/**
* 根据手机的分辨率从 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);
}

public static int Dp2Px(Context context, float dp) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dp * scale + 0.5f);
}

}MainActivity:
直接调用Densityutil.dip2px(this,44);

其中的scale值就等于dpi/160  

px=dp*scale

eg:UI做的图是px=132     做的是xxhdpi图片,dpi=480,scale=3,那么dp=44,px=132,dp转成px,px=3*dp

参考:点击打开链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android 屏幕适配