AndroidTouchEvent总结
默认状态
布局文件
<?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总结的更多相关文章
- View,ViewGroup的Touch事件的分发机制
原帖地址:http://blog.csdn.net/xiaanming/article/details/21696315 ViewGroup的事件分发机制 我们用手指去触摸Android手机屏幕,就会 ...
- ViewGroup的事件分发机制
我们用手指去触摸Android手机屏幕,就会产生一个触摸事件,但是这个触摸事件在底层是怎么分发的呢?这个我还真不知道,这里涉及到操作硬件 (手机屏幕)方面的知识,也就是Linux内核方面的知识,我也没 ...
- Andriod 从源码的角度详解View,ViewGroup的Touch事件的分发机制
转自:xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/21696315) 今天这篇文章主要分析的是Android的事件分发机制, ...
- 一文读懂 Android TouchEvent 事件分发、拦截、处理过程
什么是事件?事件是用户触摸手机屏幕,引起的一系列TouchEvent,包括ACTION_DOWN.ACTION_MOVE.ACTION_UP.ACTION_CANCEL等,这些action组合后变成点 ...
随机推荐
- java读取excel文件内容
1.导入依赖JAR包 <!-- jxl 操作excel --> <dependency> <groupId>org.jxls</groupId> < ...
- 紫书 例题8-10 UVa 714 (二分答案)
这道题让最大值最小, 显然是二分答案 当题目求的是最大值最小, 最小值最大, 这个时候就要想到二分答案 为什么可以二分答案呢, 因为这个时候解是单调性的, 如果简单粗暴一点 就全部枚举一遍, 验证答案 ...
- 紫书 习题 11-7 UVa 10801 (单源最短路变形)
把每个电梯口看作一个节点, 然后计算边的权值的时候处理一下, 就ok了. #include<cstdio> #include<vector> #include<queue ...
- [Luogu]P3338 [ZJOI2014]力(FFT)
题目描述 给出\(n\)个数\(q_i\),给出\(F_j\)的定义如下: \(F_j = \sum_{i<j}\frac{q_i q_j}{(i-j)^2 }-\sum_{i>j}\fr ...
- 洛谷 P3147 [USACO16OPEN]262144
P3147 [USACO16OPEN]262144 题目描述 Bessie likes downloading games to play on her cell phone, even though ...
- iOS6和iOS7处理push不同之处,解决反复push,-(void) application: didReceiveRemoteNotification: fetchCompletionHandl
如果读者已经知道push的基本知识,本文仅仅是解决一些适配,兼容问题.如果对push 不甚了解,參考以下的文章 1.[iOS push全方位解析](一) push的概述 2.[iOS push全方位解 ...
- 3、Python字典集合
2.3字典 字典是键值对的无序可变序列.键值之间用冒号隔开,相邻元素之间用逗号隔开,所有元素放在大括号之间{},键可以是Python中所有不可变的数据,不能用列表.元组.字典作为字典的键,键不可重复, ...
- [Android Studio 权威教程]配置出“NB”的Android Studio
前几篇博客我们已经安装好了As,并且创建了我们的第一个HelloWrod ,这片blog我们继续配置出一个NB的Android Studio 假设你是一个才開始接触到AS或者想从Eclipse转型到A ...
- layer是什么
layer是什么 总结 layer就是一个web弹框 简介 layer是一款web弹层组件,致力于服务各个水平段的开发人员. 可以让你想到即可做到的web弹窗 概述 [1] layer,一个可以让你 ...
- CAP定理在分布式系统设计中的最新应用
本文翻译自国外InfoQ和计算机杂志上一篇2012年旧文,本文就有关数据同步进行了讨论,特别关注业务事务的不变性与一致性如何在分布式系统中巧妙保证,探讨了长时间运行的事务的补偿机制.这些对分布式系统设 ...