我想以编程方式从 px
计算 dp
。怎么做?
我从以下方面获得解决方案:
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
ht = displaymetrics.heightPixels;
wt = displaymetrics.widthPixels;
最佳答案
这里的所有答案都显示了 dp->px 转换,而不是 OP 要求的 px->dp。
请注意 TypedValue.applyDimension
不能用于转换px->dp,必须使用这里描述的方法:https://stackoverflow.com/a/17880012/504611 (为方便起见,以下引用)。
fun Context.dpToPx(dp: Int): Int {
return (dp * resources.displayMetrics.density).toInt()
}
fun Context.pxToDp(px: Int): Int {
return (px / resources.displayMetrics.density).toInt()
}
关于android - 如何以编程方式从android中的像素计算dp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8295986/