我做了一个应用程序 - 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 毫米之外。