在imageview上获取触摸事件坐标

时间:2012-06-28 20:03:07

标签: android imageview screen ontouchevent ontouchlistener

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

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

1 个答案:

答案 0 :(得分:0)

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