了解MotionEvent是否发生在视图中

时间:2016-03-11 22:05:32

标签: android view motionevent

是否可以创建一个接收事件和视图的方法,并确定事件是否发生在视图坐标中?

有些事情:

private boolean isEventOnTopOfView(MotionEvent event, View view) {...}

2 个答案:

答案 0 :(得分:0)

这个实现似乎对我有用:

 private boolean isEventOnTopOfView(MotionEvent event, View view) {
    return isViewContains(view,(int)event.getRawX(),(int)event.getRawY());
}

private boolean isViewContains(View view, int rx, int ry) {
    int[] location = new int[2];
    view.getLocationOnScreen(location);
    int x = location[0];
    int y = location[1];
    int w = view.getWidth();
    int h = view.getHeight();

    if (rx < x || rx > x + w || ry < y || ry > y + h) {
        return false;
    }
    return true;
}

答案 1 :(得分:-1)

您可以使用侦听器,例如建议的here

cbaxes.tick_params(axis='both', colors='white')