【发布时间】:2016-07-31 23:58:08
【问题描述】:
我正在尝试在 Android 上为任何设备创建准确的标尺,但遇到了问题。基本上,我的测量值对于我的两个不同设备来说太远了。我预计会是这种情况,但不是因为它正在发生的程度。
目前对于 onTouchEvent,我只需使用以下代码以英寸为单位打印 x 位置
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
float x = event.getX()/metrics.xdpi;
System.out.println(x);
return true;
我得到以下结果
http://imgur.com/S85Kmsr(3.01 应该是 3.10)
基本上,我的模拟器总是偏离 0.1 英寸,而我的 Galaxy s5 连续上升大约 0.5 英寸
对于这些结果,我使用 1dp 的标记宽度和 8 dp 的标记间距。这为我的 s5 提供了最准确的结果。
10dp 是 0.625 英寸,即每个标记之间应间隔多远。
尽管 1dp 宽度和 8dp 分离在我的 S5 上为我提供了准确的结果,1dp 宽度和 9dp 分离(应该是什么)在 android 模拟器上给了我完美的结果。但是,在我的 S5 上,测量值每英寸相差 0.16 英寸。
老实说,我不知道该怎么做。我希望这在所有设备之间尽可能准确。
【问题讨论】:
标签: android units-of-measurement