【问题标题】:Get touch event coordinate on an imageview获取图像视图上的触摸事件坐标
【发布时间】:2012-06-28 20:03:07
【问题描述】:

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

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

【问题讨论】:

    标签: android imageview screen touch-event ontouchlistener


    【解决方案1】:

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

    【讨论】:

    • 使用屏幕的当前密度值效果很好。
    猜你喜欢
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-28
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    相关资源
    最近更新 更多