我需要检查在Android中是否点击了imageView上的某些点。我可以在ImageView上创建一个按钮并获取它的形状,但是我如何获取屏幕上点击区域的坐标并执行操作呢?我和你分享一个例子图片。单击示例图像中的红色区域时将采取操作。
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) } }
1条答案
按热度按时间iklwldmw1#
为了在点击时获得触摸点,你需要设置触摸监听器并存储你触摸的点,不要忘记返回false,否则你的点击监听器将无法工作。您也可以使用此扩展与接口。