android 如何创建获取位置点

yfjy0ee7  于 2023-10-14  发布在  Android
关注(0)|答案(1)|浏览(80)

我需要检查在Android中是否点击了imageView上的某些点。我可以在ImageView上创建一个按钮并获取它的形状,但是我如何获取屏幕上点击区域的坐标并执行操作呢?
我和你分享一个例子图片。单击示例图像中的红色区域时将采取操作。

iklwldmw

iklwldmw1#

为了在点击时获得触摸点,你需要设置触摸监听器并存储你触摸的点,不要忘记返回false,否则你的点击监听器将无法工作。您也可以使用此扩展与接口。

interface OnClickListener {
    fun onClick(view: View, point: PointF)
}

fun ImageView.onClickListener(clickListener: OnClickListener) {

    val touchCoordinate = PointF()

    setOnTouchListener { _, event ->
        // for getting global point use event.rawX and rawY
        touchCoordinate.x = event.x
        touchCoordinate.y = event.y
        return@setOnTouchListener false
    }

    setOnClickListener {
        clickListener.onClick(it, touchCoordinate)
    }
}

相关问题