3 回答
TA贡献1852条经验 获得超7个赞
DP至PX:
public static int dpToPx(float dp, Context context) {
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, context.getResources().getDisplayMetrics());
}
SP到PX:
public static int spToPx(float sp, Context context) {
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, sp, context.getResources().getDisplayMetrics());
}
DP到SP:
public static int dpToSp(float dp, Context context) {
return (int) (dpToPx(dp, context) / context.getResources().getDisplayMetrics().scaledDensity);
}
TA贡献1799条经验 获得超6个赞
要将Dimension转换为Integer或Pixel,您需要使用“ getDimensionPixelSize(R.dimen.your_dp_value) ”函数,例如...
在dimens.xml中赋值
<dimen name="padding_10">10dp</dimen>
现在,对于以像素或整数表示的那个值,您可以像下面这样使用:
int sizeInPixel = context.getResources().getDimensionPixelSize(R.dimen.padding_10);
- 3 回答
- 0 关注
- 854 浏览
添加回答
举报