public int dpToPx(int dp, Context context) {
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
int px = Math.round(dp * (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT));
return px;
}
取自here
public int dpToPx(float dp, Context context) {
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
int px = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, displayMetrics);
return px;
}
取自here
这两者有什么不同?
答案 0 :(得分:1)
差异在于舍入值和截断值。
4.6
的舍入将导致5
截断4.6
将导致4
。
它与Android
无关,基本上是代数,而不是编程问题。