0

我在 ImageView 上有一个 onTouchListener,我使用 event.getX() 或 getY()。我的目标是在用户触摸我的图像的特定部分时显示图像并启动对话框或其他东西。问题是对于不同的屏幕,我的图像视图的同一部分的 X et Y 值会发生变化。

如何在每个屏幕上以像素为单位获得事件的真实位置?例如,我想显示一个 Android 面孔,并在用户点击他的眼睛时做一些事情......

4

1 回答 1

0

编写代码以使用固定分辨率(例如 480x640)检测指定点的触摸。然后使用 DisplayMetrics 获取运行应用程序的设备的分辨率。计算 xScale 和 yScale(例如 DisplayMetrics.widthPixels / 480)并将您的 x 和 y 乘以这些比例因子。

于 2012-06-28T20:18:52.283 回答