android中LayoutParams参数px与xml文件中dp单位之间的转换
首先要明确在xml文件中,单位通常设置为dp,而通过Java代码对布局进行控制时,LayoutParams的成员width和height都以px为单位的。因此存在不统一,需要进行转换。下面给出dp与px之间的转换公式:px = dp * (dpi / 160)dp = px / (dpi / 160)dpi值的获取通过如下方式获得:metrics =new DisplayMetrics();get
·
首先要明确在xml文件中,单位通常设置为dp,而通过Java代码对布局进行控制时,LayoutParams的成员width和height都以px为单位的。因此存在不统一,需要进行转换。
下面给出dp与px之间的转换公式:
px = dp * (dpi / 160)
dp = px / (dpi / 160)
dpi值的获取通过如下方式获得:
metrics =new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
dpi的值就等于:metrics.densityDpi
160通过如下方式获得:
160=DisplayMetrics.DENSITY_DEFAULT
最后给一个具体的例子,从dp转到px,281dp等于多少px???
metrics =new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
(281 * metrics.densityDpi) / DisplayMetrics.DENSITY_DEFAULT
更多推荐
已为社区贡献1条内容
所有评论(0)