我正在自定义 View 上实现 OnTouchListener
。在这个 View 中,我正在绘制一个基本上沿 x 轴和 y 轴移动的对象,我分别从 event.getX();
和 event.getY();
获得。
我想在屏幕中的特定位置发生触摸事件时执行一些 draw
更改。问题是,这些值对于不同的屏幕尺寸是不同的。例如,X 点的值在 WVGA 设备上是 60 而在平板电脑 上是 100。由于这是不一致的,我无法编写正确的 if
条件。
请问有人可以根据您之前的经验提出解决方案吗?
最佳答案
您可以设置接收触摸事件的基本屏幕尺寸,例如 800 x 600。然后您可以获得设备的实际分辨率,并按此缩放您的基本尺寸。即 X 尺寸为(800/设备宽度),然后您将设备屏幕触摸坐标乘以该比例因子以获得“翻译”版本。
关于android - onTouch event.getX 或 Y 在不同屏幕尺寸上的一致性 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11347428/