默认状态

布局文件

<?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. angular.js和vue.js中实现函数去抖(debounce)

    问题描述 搜索输入框中,只当用户停止输入后,才进行后续的操作,比如发起Http请求等. 学过电子电路的同学应该知道按键防抖.原理是一样的:就是说当调用动作n毫秒后,才会执行该动作,若在这n毫秒内又调用 ...

  2. 2015 Multi-University Training Contest 3 hdu 5323 Solve this interesting problem

    Solve this interesting problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ...

  3. SolrCloud怎样创建跟新索引信息

    发送leader,由leader定位地址.然后写到shard上,同一时候copy到replicaton . 如图

  4. Liunx-php7安装swoole扩展

    Liunx-php7安装swoole扩展 标签(空格分隔): php 下载包 https://github.com/swoole/swoole-src/releases 安装过程 直接wget也行直接 ...

  5. POJ 2528 线段树

    坑: 这道题的坐标轴跟普通的坐标轴是不一样的-- 此题的坐标轴 标号是在中间的-- 线段树建树的时候就不用[l,mid][mid,r]了(这样是错的) 直接[l,mid][mid+1,r]就OK了 D ...

  6. Surfaces

    For Developers‎ > ‎Design Documents‎ > ‎Chromium Graphics // Chrome GPU‎ > ‎ Surfaces Goals ...

  7. Web开发、原生开发、混合开发的区别优势:

    一.Web 应用 Web应用本质上是为移动浏览器设计的基于Web的应用,它们是用普通Web开发语言开发的,可以在各种智能手机浏览器上运行. 优点: 支持设备广泛: 较低的开发成本: 可即时上线: 无内 ...

  8. git提交的规范

  9. 【agc004f】Namori Grundy

    那个问一下有人可以解释以下这个做法嘛,看不太懂QwQ~ Description 有一个n个点n条边的有向图,点的编号为从1到n. 给出一个数组p,表明有(p1,1),(p2,2),…,(pn,n)这n ...

  10. d3的一些总结

    核心操作:https://blog.csdn.net/kriszhang/article/details/70174410 Update.Enter.Exit 简练详细说明:http://www.cn ...