Activity——ViewGroup——View
1、默認情況
Activity:
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
Log.d("MainActivity","MainActivity dispatchTouchEvent");
return super.dispatchTouchEvent(ev);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
Log.d("MainActivity","MainActivity onTouchEvent down");
break;
case MotionEvent.ACTION_UP:
Log.d("MainActivity","MainActivity onTouchEvent up");
break;
default:
break;
}
return super.onTouchEvent(event);
}
ViewGroup:
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
Log.d("MyViewGroup","MyViewGroup dispatchTouchEvent");
return super.dispatchTouchEvent(ev);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
Log.d("MyViewGroup","MyViewGroup onInterceptTouchEvent");
return super.onInterceptTouchEvent(ev);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
Log.d("MyViewGroup","MyViewGroup onTouchEvent down");
break;
case MotionEvent.ACTION_UP:
Log.d("MyViewGroup","MyViewGroup onTouchEvent up");
break;
default:
break;
}
return super.onTouchEvent(event);
}
View:
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
Log.d("MyView","MyView dispatchTouchEvent");
return super.dispatchTouchEvent(ev);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
Log.d("MyView","MyView onTouchEvent down");
break;
case MotionEvent.ACTION_UP:
Log.d("MyView","MyView onTouchEvent up");
break;
default:
break;
}
return super.onTouchEvent(event);
}
事件傳遞:
捕獲.PNG
2荣刑、Activity dispatchTouchEvent return true
事件傳遞:
捕獲2.PNG
3绒极、Activity dispatchTouchEvent return false
事件傳遞:
捕獲2.PNG
4骏令、ViewGroup dispatchTouchEvent return true
事件傳遞:
3.PNG
5、ViewGroup dispatchTouchEvent return false
事件傳遞:
4.PNG
6垄提、ViewGroup onTouchEvent return true
事件傳遞:
5.PNG
7榔袋、ViewGroup onTouchEvent return false
事件傳遞:同1
8、ViewGroup onInterceptTouchEvent return true
事件傳遞:
6.PNG
9塔淤、ViewGroup onInterceptTouchEvent return false
事件傳遞:同1
10摘昌、View dispatchTouchEvent return true
事件傳遞:
7.PNG
11、View dispatchTouchEvent return false
事件傳遞:
8.PNG
12高蜂、View onTouchEvent return true
事件傳遞:
9.PNG
13聪黎、View onTouchEvent return false
事件傳遞:同1