我需要在我的活动中将与密度无关的像素转换为像素。我尝试在我的 onCreate 中使用此方法
float pix = dipValue * getResources().getDisplayMetrics().density;
pixel = Math.round(pix);
我尝试了另一种方法
Resources r = getResources();
float pix = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 35,r.getDisplayMetrics());
value = Math.round(pix);
两者都产生相同的价值。我认为问题不在于方法,而在于资源。我是否应该在清单文件中进行任何更改,例如
<supports-screens android:resizeable=["true"| "false"]
android:smallScreens=["true" | "false"]
android:normalScreens=["true" | "false"]
android:largeScreens=["true" | "false"]
android:xlargeScreens=["true" | "false"]
android:anyDensity=["true" | "false"]
android:requiresSmallestWidthDp="integer"
android:compatibleWidthLimitDp="integer"
android:largestWidthLimitDp="integer"/>
有一个与我类似的问题。但这并不能解决我的问题。帮帮我。