Android 了解视图中是否发生MotionEvent

Android 了解视图中是否发生MotionEvent,android,view,motionevent,Android,View,Motionevent,是否可以创建一个方法来接收事件和视图,并确定事件是否发生在视图坐标内 大致如下: private boolean isEventOnTopOfView(MotionEvent event, View view) {...} 这个实现似乎对我很有用: private boolean isEventOnTopOfView(MotionEvent event, View view) { return isViewContains(view,(int)event.getRawX(),(int

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

大致如下:

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

这个实现似乎对我很有用:

 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;
}
私有布尔值IsEventTopofView(运动事件,视图){
返回isViewContains(view,(int)event.getRawX(),(int)event.getRawY());
}
私有布尔值isViewContains(视图视图、int rx、int ry){
int[]位置=新int[2];
view.GetLocationOn屏幕(位置);
int x=位置[0];
int y=位置[1];
int w=view.getWidth();
int h=view.getHeight();
如果(rxx+w | | ryy+h){
返回false;
}
返回true;
}