如何在触摸时在图像视图中找到图像上的点

时间:2014-01-24 11:46:46

标签: android touch xamarin.android

我在imageview中有一个图像,我正在创建一个Monodroid应用程序,它需要像android锁屏一样显示刷卡密码模式屏幕。

我有9个图像放在3x3矩阵中,我已经覆盖了主要活动中的OnTouchEvent。当我触摸屏幕时,我需要知道触摸点是在图像上还是在主要布局上而不是图像上。

在iOS中,我们可以获取图像边界,以便我们可以验证点是否在边界内。我无法找到合适的方法来确保触摸点位于图像上。

需要帮助。

1 个答案:

答案 0 :(得分:1)

我认为这是正确的解决方案:

//any image view
//must be assigned before use by findViewByID(int id)
ImageView image_view = null;
@Override
public boolean onTouchEvent(MotionEvent event) {
    //boundary of your image view
    Rect rect = new Rect(image_view.getLeft(),image_view.getTop(),image_view.getRight(),image_view.getBottom());
    //if point is inside rect then test_collision = true, else test_collision = false
    boolean test_collision = rect.contains((int)event.getX(), (int)event.getY());
    return super.onTouchEvent(event);
}