默认状态

布局文件

<?xml version="1.0" encoding="utf-8"?>
<com.malinkang.touchsample.widget.MyFrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ff0000"
android:orientation="vertical"> <com.malinkang.touchsample.widget.MyLinearLayout
android:layout_width="200dp"
android:layout_height="200dp"
android:background="#00ff00"
android:layout_gravity="center"
android:gravity="center"> <com.malinkang.touchsample.widget.MyTextView
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#0000ff" />
</com.malinkang.touchsample.widget.MyLinearLayout> </com.malinkang.touchsample.widget.MyFrameLayout>
/**
* Created by malinkang on 15/8/24.
*/
public class TouchEventActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.touch_event);
} @Override
public boolean dispatchTouchEvent(MotionEvent ev) {
Log.d("TouchEventActivity","dispatchTouchEvent方法执行"+super.dispatchTouchEvent(ev)+":"+Utils.getNameForEvent(ev));
return super.dispatchTouchEvent(ev);
} @Override
public boolean onTouchEvent(MotionEvent event) {
Log.d("TouchEventActivity", "onTouchEvent执行" +super.onTouchEvent(event)+":"+ Utils.getNameForEvent(event));
return super.onTouchEvent(event);
} }
/**
* Created by malinkang on 15/8/25.
*/
public class MyFrameLayout extends FrameLayout {
public MyFrameLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
} public MyFrameLayout(Context context) {
super(context);
} public MyFrameLayout(Context context, AttributeSet attrs) {
super(context, attrs);
} @Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
Log.d("MyFrameLayout", "onInterceptTouchEvent方法执行" + super.onInterceptTouchEvent(ev) + ":" + Utils.getNameForEvent(ev));
return super.onInterceptTouchEvent(ev);
} @Override
public boolean dispatchTouchEvent(MotionEvent ev) {
Log.d("MyFrameLayout", "dispatchTouchEvent方法执行:" + super.dispatchTouchEvent(ev) + ":" + Utils.getNameForEvent(ev));
return super.dispatchTouchEvent(ev);
} @Override
public boolean onTouchEvent(MotionEvent event) {
Log.d("MyFrameLayout", "onTouchEvent执行" + super.onTouchEvent(event) + ":" + Utils.getNameForEvent(event));
return super.onTouchEvent(event);
}
}
/**
* Created by malinkang on 15/8/24.
*/
public class MyLinearLayout extends LinearLayout {
public MyLinearLayout(Context context) {
super(context);
} public MyLinearLayout(Context context, AttributeSet attrs) {
super(context, attrs);
} public MyLinearLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
} @Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
Log.d("MyLinearLayout","onInterceptTouchEvent方法执行"+ super.onInterceptTouchEvent(ev)+":"+Utils.getNameForEvent(ev));
return super.onInterceptTouchEvent(ev);
} @Override
public boolean dispatchTouchEvent(MotionEvent ev) {
Log.d("MyLinearLayout","dispatchTouchEvent方法执行:"+super.dispatchTouchEvent(ev)+":"+Utils.getNameForEvent(ev));
return super.dispatchTouchEvent(ev);
} @Override
public boolean onTouchEvent(MotionEvent event) {
Log.d("MyLinearLayout","onTouchEvent执行" +super.onTouchEvent(event)+":"+Utils.getNameForEvent(event));
return super.onTouchEvent(event);
}
}
/**
* Created by malinkang on 15/8/24.
*/
public class MyTextView extends TextView {
public MyTextView(Context context) {
super(context);
} public MyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
} public MyTextView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
} @Override
public boolean onTouchEvent(MotionEvent event) {
Log.d("MyTextView", "onTouchEvent执行" + super.onTouchEvent(event) + ":" + Utils.getNameForEvent(event));
return super.onTouchEvent(event); } }

log

08-25 10:49:48.699  17390-17390/com.malinkang.touchsample D/MyFrameLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:49:48.699 17390-17390/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:49:48.699 17390-17390/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行false:ACTION_DOWN
08-25 10:49:48.699 17390-17390/com.malinkang.touchsample D/MyLinearLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 10:49:48.699 17390-17390/com.malinkang.touchsample D/MyLinearLayout﹕ dispatchTouchEvent方法执行:false:ACTION_DOWN
08-25 10:49:48.699 17390-17390/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:49:48.699 17390-17390/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行false:ACTION_DOWN
08-25 10:49:48.699 17390-17390/com.malinkang.touchsample D/MyLinearLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 10:49:48.699 17390-17390/com.malinkang.touchsample D/MyFrameLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 10:49:48.699 17390-17390/com.malinkang.touchsample D/MyFrameLayout﹕ dispatchTouchEvent方法执行:false:ACTION_DOWN
08-25 10:49:48.709 17390-17390/com.malinkang.touchsample D/MyFrameLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:49:48.709 17390-17390/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:49:48.714 17390-17390/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行false:ACTION_DOWN
08-25 10:49:48.714 17390-17390/com.malinkang.touchsample D/MyLinearLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 10:49:48.714 17390-17390/com.malinkang.touchsample D/MyLinearLayout﹕ dispatchTouchEvent方法执行:false:ACTION_DOWN
08-25 10:49:48.714 17390-17390/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:49:48.714 17390-17390/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行false:ACTION_DOWN
08-25 10:49:48.714 17390-17390/com.malinkang.touchsample D/MyLinearLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 10:49:48.714 17390-17390/com.malinkang.touchsample D/MyFrameLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 10:49:48.714 17390-17390/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_DOWN
08-25 10:49:48.714 17390-17390/com.malinkang.touchsample D/TouchEventActivity﹕ dispatchTouchEvent方法执行false:ACTION_DOWN
08-25 10:49:48.714 17390-17390/com.malinkang.touchsample D/MyFrameLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:49:48.714 17390-17390/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:49:48.714 17390-17390/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行false:ACTION_DOWN
08-25 10:49:48.714 17390-17390/com.malinkang.touchsample D/MyLinearLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 10:49:48.719 17390-17390/com.malinkang.touchsample D/MyLinearLayout﹕ dispatchTouchEvent方法执行:false:ACTION_DOWN
08-25 10:49:48.719 17390-17390/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:49:48.719 17390-17390/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行false:ACTION_DOWN
08-25 10:49:48.719 17390-17390/com.malinkang.touchsample D/MyLinearLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 10:49:48.719 17390-17390/com.malinkang.touchsample D/MyFrameLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 10:49:48.719 17390-17390/com.malinkang.touchsample D/MyFrameLayout﹕ dispatchTouchEvent方法执行:false:ACTION_DOWN
08-25 10:49:48.719 17390-17390/com.malinkang.touchsample D/MyFrameLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:49:48.719 17390-17390/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:49:48.719 17390-17390/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行false:ACTION_DOWN
08-25 10:49:48.719 17390-17390/com.malinkang.touchsample D/MyLinearLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 10:49:48.719 17390-17390/com.malinkang.touchsample D/MyLinearLayout﹕ dispatchTouchEvent方法执行:false:ACTION_DOWN
08-25 10:49:48.719 17390-17390/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:49:48.719 17390-17390/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行false:ACTION_DOWN
08-25 10:49:48.719 17390-17390/com.malinkang.touchsample D/MyLinearLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 10:49:48.719 17390-17390/com.malinkang.touchsample D/MyFrameLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 10:49:48.719 17390-17390/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_DOWN
08-25 10:49:48.744 17390-17390/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_MOVE
08-25 10:49:48.744 17390-17390/com.malinkang.touchsample D/TouchEventActivity﹕ dispatchTouchEvent方法执行false:ACTION_MOVE
08-25 10:49:48.744 17390-17390/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_MOVE
08-25 10:49:48.809 17390-17390/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_MOVE
08-25 10:49:48.809 17390-17390/com.malinkang.touchsample D/TouchEventActivity﹕ dispatchTouchEvent方法执行false:ACTION_MOVE
08-25 10:49:48.809 17390-17390/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_MOVE
08-25 10:49:48.839 17390-17390/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_UP
08-25 10:49:48.839 17390-17390/com.malinkang.touchsample D/TouchEventActivity﹕ dispatchTouchEvent方法执行false:ACTION_UP
08-25 10:49:48.839 17390-17390/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_UP

TextView的onTouchEvent返回true

08-25 10:57:56.874  23744-23744/com.malinkang.touchsample D/MyFrameLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:57:56.874 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:57:56.874 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_DOWN
08-25 10:57:56.874 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ dispatchTouchEvent方法执行:true:ACTION_DOWN
08-25 10:57:56.874 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_CANCEL
08-25 10:57:56.879 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:57:56.879 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_DOWN
08-25 10:57:56.879 23744-23744/com.malinkang.touchsample D/MyFrameLayout﹕ dispatchTouchEvent方法执行:true:ACTION_DOWN
08-25 10:57:56.879 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_CANCEL
08-25 10:57:56.879 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_CANCEL
08-25 10:57:56.879 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ dispatchTouchEvent方法执行:true:ACTION_CANCEL
08-25 10:57:56.879 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onTouchEvent执行false:ACTION_CANCEL
08-25 10:57:56.879 23744-23744/com.malinkang.touchsample D/MyFrameLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:57:56.879 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:57:56.879 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_DOWN
08-25 10:57:56.879 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ dispatchTouchEvent方法执行:true:ACTION_DOWN
08-25 10:57:56.879 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_CANCEL
08-25 10:57:56.879 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:57:56.879 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_DOWN
08-25 10:57:56.879 23744-23744/com.malinkang.touchsample D/TouchEventActivity﹕ dispatchTouchEvent方法执行true:ACTION_DOWN
08-25 10:57:56.879 23744-23744/com.malinkang.touchsample D/MyFrameLayout﹕ onInterceptTouchEvent方法执行false:ACTION_CANCEL
08-25 10:57:56.879 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_CANCEL
08-25 10:57:56.879 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_CANCEL
08-25 10:57:56.879 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ dispatchTouchEvent方法执行:true:ACTION_CANCEL
08-25 10:57:56.879 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onTouchEvent执行false:ACTION_CANCEL
08-25 10:57:56.879 23744-23744/com.malinkang.touchsample D/MyFrameLayout﹕ dispatchTouchEvent方法执行:false:ACTION_CANCEL
08-25 10:57:56.884 23744-23744/com.malinkang.touchsample D/MyFrameLayout﹕ onTouchEvent执行false:ACTION_CANCEL
08-25 10:57:56.884 23744-23744/com.malinkang.touchsample D/MyFrameLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:57:56.884 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:57:56.884 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_DOWN
08-25 10:57:56.884 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ dispatchTouchEvent方法执行:true:ACTION_DOWN
08-25 10:57:56.884 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_CANCEL
08-25 10:57:56.884 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:57:56.884 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_DOWN
08-25 10:57:56.884 23744-23744/com.malinkang.touchsample D/MyFrameLayout﹕ dispatchTouchEvent方法执行:true:ACTION_DOWN
08-25 10:57:56.884 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_CANCEL
08-25 10:57:56.884 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_CANCEL
08-25 10:57:56.884 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ dispatchTouchEvent方法执行:true:ACTION_CANCEL
08-25 10:57:56.884 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onTouchEvent执行false:ACTION_CANCEL
08-25 10:57:56.884 23744-23744/com.malinkang.touchsample D/MyFrameLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:57:56.884 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:57:56.884 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_DOWN
08-25 10:57:56.884 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ dispatchTouchEvent方法执行:true:ACTION_DOWN
08-25 10:57:56.884 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_CANCEL
08-25 10:57:56.884 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 10:57:56.884 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_DOWN
08-25 10:57:56.929 23744-23744/com.malinkang.touchsample D/MyFrameLayout﹕ onInterceptTouchEvent方法执行false:ACTION_MOVE
08-25 10:57:56.929 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_MOVE
08-25 10:57:56.929 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_MOVE
08-25 10:57:56.929 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ dispatchTouchEvent方法执行:true:ACTION_MOVE
08-25 10:57:56.929 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_MOVE
08-25 10:57:56.929 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_MOVE
08-25 10:57:56.929 23744-23744/com.malinkang.touchsample D/MyFrameLayout﹕ dispatchTouchEvent方法执行:true:ACTION_MOVE
08-25 10:57:56.929 23744-23744/com.malinkang.touchsample D/MyFrameLayout﹕ onInterceptTouchEvent方法执行false:ACTION_MOVE
08-25 10:57:56.929 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_MOVE
08-25 10:57:56.934 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_MOVE
08-25 10:57:56.934 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ dispatchTouchEvent方法执行:true:ACTION_MOVE
08-25 10:57:56.934 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_MOVE
08-25 10:57:56.934 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_MOVE
08-25 10:57:56.934 23744-23744/com.malinkang.touchsample D/TouchEventActivity﹕ dispatchTouchEvent方法执行true:ACTION_MOVE
08-25 10:57:56.934 23744-23744/com.malinkang.touchsample D/MyFrameLayout﹕ onInterceptTouchEvent方法执行false:ACTION_MOVE
08-25 10:57:56.934 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_MOVE
08-25 10:57:56.934 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_MOVE
08-25 10:57:56.934 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ dispatchTouchEvent方法执行:true:ACTION_MOVE
08-25 10:57:56.934 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_MOVE
08-25 10:57:56.934 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_MOVE
08-25 10:57:56.934 23744-23744/com.malinkang.touchsample D/MyFrameLayout﹕ dispatchTouchEvent方法执行:true:ACTION_MOVE
08-25 10:57:56.934 23744-23744/com.malinkang.touchsample D/MyFrameLayout﹕ onInterceptTouchEvent方法执行false:ACTION_MOVE
08-25 10:57:56.934 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_MOVE
08-25 10:57:56.934 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_MOVE
08-25 10:57:56.934 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ dispatchTouchEvent方法执行:true:ACTION_MOVE
08-25 10:57:56.934 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_MOVE
08-25 10:57:56.934 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_MOVE
08-25 10:57:56.934 23744-23744/com.malinkang.touchsample D/MyFrameLayout﹕ onInterceptTouchEvent方法执行false:ACTION_UP
08-25 10:57:56.934 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行false:ACTION_UP
08-25 10:57:56.934 23744-23744/com.malinkang.touchsample D/MyTextView﹕ onTouchEvent执行true:ACTION_UP
08-25 10:57:56.934 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ dispatchTouchEvent方法执行:true:ACTION_UP
08-25 10:57:56.939 23744-23744/com.malinkang.touchsample D/MyLinearLayout﹕ onTouchEvent执行false:ACTION_UP
08-25 10:57:56.939 23744-23744/com.malinkang.touchsample D/MyFrameLayout﹕ dispatchTouchEvent方法执行:false:ACTION_UP
08-25 10:57:56.939 23744-23744/com.malinkang.touchsample D/MyFrameLayout﹕ onTouchEvent执行false:ACTION_UP
08-25 10:57:56.939 23744-23744/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_UP
08-25 10:57:56.939 23744-23744/com.malinkang.touchsample D/TouchEventActivity﹕ dispatchTouchEvent方法执行false:ACTION_UP
08-25 10:57:56.939 23744-23744/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_UP

LinearLayout的onInterceptTouchEvent 修改为true

08-25 11:16:52.144    5739-5739/com.malinkang.touchsample D/MyFrameLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 11:16:52.144 5739-5739/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行true:ACTION_DOWN
08-25 11:16:52.144 5739-5739/com.malinkang.touchsample D/MyLinearLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 11:16:52.149 5739-5739/com.malinkang.touchsample D/MyLinearLayout﹕ dispatchTouchEvent方法执行:false:ACTION_DOWN
08-25 11:16:52.149 5739-5739/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行true:ACTION_DOWN
08-25 11:16:52.149 5739-5739/com.malinkang.touchsample D/MyLinearLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 11:16:52.149 5739-5739/com.malinkang.touchsample D/MyFrameLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 11:16:52.149 5739-5739/com.malinkang.touchsample D/MyFrameLayout﹕ dispatchTouchEvent方法执行:false:ACTION_DOWN
08-25 11:16:52.149 5739-5739/com.malinkang.touchsample D/MyFrameLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 11:16:52.149 5739-5739/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行true:ACTION_DOWN
08-25 11:16:52.149 5739-5739/com.malinkang.touchsample D/MyLinearLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 11:16:52.149 5739-5739/com.malinkang.touchsample D/MyLinearLayout﹕ dispatchTouchEvent方法执行:false:ACTION_DOWN
08-25 11:16:52.149 5739-5739/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行true:ACTION_DOWN
08-25 11:16:52.149 5739-5739/com.malinkang.touchsample D/MyLinearLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 11:16:52.149 5739-5739/com.malinkang.touchsample D/MyFrameLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 11:16:52.149 5739-5739/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_DOWN
08-25 11:16:52.149 5739-5739/com.malinkang.touchsample D/TouchEventActivity﹕ dispatchTouchEvent方法执行false:ACTION_DOWN
08-25 11:16:52.149 5739-5739/com.malinkang.touchsample D/MyFrameLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 11:16:52.149 5739-5739/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行true:ACTION_DOWN
08-25 11:16:52.149 5739-5739/com.malinkang.touchsample D/MyLinearLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 11:16:52.149 5739-5739/com.malinkang.touchsample D/MyLinearLayout﹕ dispatchTouchEvent方法执行:false:ACTION_DOWN
08-25 11:16:52.149 5739-5739/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行true:ACTION_DOWN
08-25 11:16:52.149 5739-5739/com.malinkang.touchsample D/MyLinearLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 11:16:52.149 5739-5739/com.malinkang.touchsample D/MyFrameLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 11:16:52.149 5739-5739/com.malinkang.touchsample D/MyFrameLayout﹕ dispatchTouchEvent方法执行:false:ACTION_DOWN
08-25 11:16:52.154 5739-5739/com.malinkang.touchsample D/MyFrameLayout﹕ onInterceptTouchEvent方法执行false:ACTION_DOWN
08-25 11:16:52.154 5739-5739/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行true:ACTION_DOWN
08-25 11:16:52.154 5739-5739/com.malinkang.touchsample D/MyLinearLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 11:16:52.154 5739-5739/com.malinkang.touchsample D/MyLinearLayout﹕ dispatchTouchEvent方法执行:false:ACTION_DOWN
08-25 11:16:52.154 5739-5739/com.malinkang.touchsample D/MyLinearLayout﹕ onInterceptTouchEvent方法执行true:ACTION_DOWN
08-25 11:16:52.154 5739-5739/com.malinkang.touchsample D/MyLinearLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 11:16:52.154 5739-5739/com.malinkang.touchsample D/MyFrameLayout﹕ onTouchEvent执行false:ACTION_DOWN
08-25 11:16:52.154 5739-5739/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_DOWN
08-25 11:16:52.169 5739-5739/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_MOVE
08-25 11:16:52.169 5739-5739/com.malinkang.touchsample D/TouchEventActivity﹕ dispatchTouchEvent方法执行false:ACTION_MOVE
08-25 11:16:52.169 5739-5739/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_MOVE
08-25 11:16:52.204 5739-5739/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_MOVE
08-25 11:16:52.204 5739-5739/com.malinkang.touchsample D/TouchEventActivity﹕ dispatchTouchEvent方法执行false:ACTION_MOVE
08-25 11:16:52.204 5739-5739/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_MOVE
08-25 11:16:52.219 5739-5739/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_MOVE
08-25 11:16:52.224 5739-5739/com.malinkang.touchsample D/TouchEventActivity﹕ dispatchTouchEvent方法执行false:ACTION_MOVE
08-25 11:16:52.224 5739-5739/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_MOVE
08-25 11:16:52.234 5739-5739/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_MOVE
08-25 11:16:52.234 5739-5739/com.malinkang.touchsample D/TouchEventActivity﹕ dispatchTouchEvent方法执行false:ACTION_MOVE
08-25 11:16:52.234 5739-5739/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_MOVE
08-25 11:16:52.234 5739-5739/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_UP
08-25 11:16:52.234 5739-5739/com.malinkang.touchsample D/TouchEventActivity﹕ dispatchTouchEvent方法执行false:ACTION_UP
08-25 11:16:52.234 5739-5739/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_UP

MyFrameLayout的dispatchTouchEvent返回true

08-25 11:22:56.009    9414-9414/com.malinkang.touchsample D/MyFrameLayout﹕ dispatchTouchEvent方法执行:true:ACTION_DOWN
08-25 11:22:56.009 9414-9414/com.malinkang.touchsample D/TouchEventActivity﹕ dispatchTouchEvent方法执行true:ACTION_DOWN
08-25 11:22:56.009 9414-9414/com.malinkang.touchsample D/MyFrameLayout﹕ dispatchTouchEvent方法执行:true:ACTION_CANCEL
08-25 11:22:56.014 9414-9414/com.malinkang.touchsample D/MyFrameLayout﹕ dispatchTouchEvent方法执行:true:ACTION_DOWN
08-25 11:22:56.034 9414-9414/com.malinkang.touchsample D/MyFrameLayout﹕ dispatchTouchEvent方法执行:true:ACTION_MOVE
08-25 11:22:56.034 9414-9414/com.malinkang.touchsample D/TouchEventActivity﹕ dispatchTouchEvent方法执行true:ACTION_MOVE
08-25 11:22:56.034 9414-9414/com.malinkang.touchsample D/MyFrameLayout﹕ dispatchTouchEvent方法执行:true:ACTION_MOVE
08-25 11:22:56.034 9414-9414/com.malinkang.touchsample D/MyFrameLayout﹕ dispatchTouchEvent方法执行:true:ACTION_UP
08-25 11:22:56.034 9414-9414/com.malinkang.touchsample D/TouchEventActivity﹕ dispatchTouchEvent方法执行true:ACTION_UP
08-25 11:22:56.034 9414-9414/com.malinkang.touchsample D/TouchEventActivity﹕ onTouchEvent执行false:ACTION_UP

http://www.cnblogs.com/sunzn/archive/2013/05/10/3064129.html

AndroidTouchEvent总结的更多相关文章

  1. View,ViewGroup的Touch事件的分发机制

    原帖地址:http://blog.csdn.net/xiaanming/article/details/21696315 ViewGroup的事件分发机制 我们用手指去触摸Android手机屏幕,就会 ...

  2. ViewGroup的事件分发机制

    我们用手指去触摸Android手机屏幕,就会产生一个触摸事件,但是这个触摸事件在底层是怎么分发的呢?这个我还真不知道,这里涉及到操作硬件 (手机屏幕)方面的知识,也就是Linux内核方面的知识,我也没 ...

  3. Andriod 从源码的角度详解View,ViewGroup的Touch事件的分发机制

    转自:xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/21696315) 今天这篇文章主要分析的是Android的事件分发机制, ...

  4. 一文读懂 Android TouchEvent 事件分发、拦截、处理过程

    什么是事件?事件是用户触摸手机屏幕,引起的一系列TouchEvent,包括ACTION_DOWN.ACTION_MOVE.ACTION_UP.ACTION_CANCEL等,这些action组合后变成点 ...

随机推荐

  1. IdentityServer4-前后端分离之Vue

    原文:IdentityServer4-前后端分离之Vue 前言 之前文章讲到如何使用Node.js+Express构建JavaScript客户端,实现前后端分离.本节将介绍如何使用Vue实现前后端分离 ...

  2. 【Linux编程】socket编程

    套接字是通信端点的抽象.文件描写叙述符用open函数创建,而套接字描写叙述符用socket函数创建.socket函数原型例如以下: int socket(int domain, int type, i ...

  3. [Servlet&amp;JSP] HttpSession会话管理

    我们能够将会话期间必须共享的资料保存在HttpSession中,使之成为属性.假设用户关掉浏览器接受Cookie的功能.HttpSession也能够改用URL重写的方式继续其会话管理功能. HttpS ...

  4. 图文介绍MyEclipse (2015) 中创建简单的Maven项目的步骤(用于生成可运行jar文件)

    利用MyEclipse的引导,能够非常方便的创建简单的.用于生成可运行jar文件的Maven项目: (原创文章,转载请注明转自Clement-Xu的博客:http://blog.csdn.net/cl ...

  5. POJ 1274 二分图匹配

    匈牙利算法 裸题 //By SiriusRen #include <cstdio> #include <cstring> #include <algorithm> ...

  6. 加载等待loading

    自己写的一个小插件,还有很多需要完善... (function ($) {    $.fn.StartLoading = function (option) {        var defaultV ...

  7. BAPC 2014 Preliminary(第一场)

    D:Lift Problems On the ground floor (floor zero) of a large university building a number of students ...

  8. [JSOI2008]火星人 hash+splay

    题目描述: 现在,火星人定义了一个函数 LCQ(x, y)LCQ(x,y),表示:该字符串中第 xx 个字符开始的字串,与该字符串中第 yy 个字符开始的字串,两个字串的公共前缀的长度.比方说,LCQ ...

  9. 888E - Maximum Subsequence 中途相遇法

    Code: #include<cstdio> #include<algorithm> #include<cstring> #include<string> ...

  10. js循环匹配组合成新对象或js循环组合新数据

    var Arry=[ {name: "vehicleTravelLicenseCopyBack", id: "a1"}, {name: "vehicl ...