2

我做了一个应用程序 - StribogECG,它显示 ECG 和其他一些文件类型。在那里,我创建了背景,它是“图形”纸,每毫米有一个点,每 5 毫米有虚线,每 25 毫米有一条线。问题是在某些设备上 25 毫米等于 25 毫米,但在其他设备上 25 毫米等于 30 毫米。

然后我做了一些计算,发现设备可以报告 DPI=160,但实际尺寸为 150 甚至某些平板电脑的 133。

Acer Iconia Tab A500 是 10 英寸和 1280/800。我所拥有的是:

metrics.xdpi = 160;
metrics.densityDpi = 160;
metrics.density=1;
metrics.scaledDensity=1;

在这种情况下,设备的直径必须为 9.4 英寸,如果直径为 10 英寸,则 DPI 必须为 150。

当然,我用普通测量线测量,而不是 25 毫米,我有 26.5 毫米。一些 7 英寸平板电脑的问题要大得多。此时,我只能看到一种解决方案——要求用户进行额外的校准——在屏幕上打印两行并要求用户将第二行放在 50 或 100 毫米之外。

4

2 回答 2

0

您将需要检查metrics.xdpimetrics.ydpi获得准确的密度数。

于 2013-02-01T15:20:38.990 回答
0

不幸的是,您只知道设备告诉您什么,并且 DPI 值设置错误是很常见的。这通常是作为一种技巧来完成的,以使界面中的视觉元素更大。

有关更多详细信息,请参阅此帖子:https ://rschilling.wordpress.com/2011/02/03/android-screen-density-inaccuracies/

如果您的应用需要准确度,您将需要添加手动校准步骤。

于 2015-09-16T10:39:55.643 回答