我试图计算可变数量的像素到密度独立像素,反之亦然.
此公式(px to dp): dp = (int)(px / (displayMetrics.densityDpi / 160));不适用于小型设备,因为它除以零.
这是我的dp to px公式:
px = (int)(dp * (displayMetrics.densityDpi / 160));
Run Code Online (Sandbox Code Playgroud)
有人可以给我一些指示吗?
我的应用程序面临严重问题,在Google Play上发布,并且除了> 4.0之外,显然在所有Android版本上都能正常运行.
这是我的Android 4.0 HTC手机的截图:

这就是我在Nexus 7,Android 4.2.1(模拟器中的相同行为)上得到的结果:

我看到每个使用的文本都有相同的行为 canvas.drawText()
用于绘制文本的Paint是:
paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(color); //some color
paint.setTextSize(size); //some size
paint.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
paint.setTextAlign(Align.CENTER);
Run Code Online (Sandbox Code Playgroud)
在logCat(4.2.1模拟器)中,我看到了很多
12-18 20:42:21.096: W/Trace(276): Unexpected value from nativeGetEnabledTags: 0
Run Code Online (Sandbox Code Playgroud)
我在清单中使用这些设置:
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="8" />
Run Code Online (Sandbox Code Playgroud) layout user-interface android drawtext android-4.2-jelly-bean