几个View的onTouch事件
来源:互联网 发布:linux基础知识总结 编辑:程序博客网 时间:2024/04/30 09:20
类型一:(默认)
LayoutView1
public boolean onInterceptTouchEvent(MotionEvent ev) {
return super.onInterceptTouchEvent(ev);
}
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
LayoutView2
public boolean onInterceptTouchEvent(MotionEvent ev) {
return super.onInterceptTouchEvent(ev);
}
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
点击 MyTextView 运行Log:
04-04 03:31:11.349: I/LayoutView1(3639): +onInterceptTouchEvent()
04-04 03:31:11.359: I/LayoutView1(3639): onInterceptTouchEvent() action: ACTION_DOWN04-04 03:31:11.359: I/LayoutView1(3639): -onInterceptTouchEvent() ,returnBoolean=false
04-04 03:31:11.359: D/LayoutView2(3639): +onInterceptTouchEvent()
04-04 03:31:11.369: D/LayoutView2(3639): onInterceptTouchEvent() action: ACTION_DOWN
04-04 03:31:11.369: D/LayoutView2(3639): -onInterceptTouchEvent() ,returnBoolean=false
04-04 03:31:11.369: W/MyTextView(3639): +onTouchEvent()
04-04 03:31:11.369: W/MyTextView(3639): onTouchEvent() action: ACTION_DOWN
04-04 03:31:11.379: W/MyTextView(3639): -onTouchEvent() returnBoolean =false
04-04 03:31:11.379: D/LayoutView2(3639): +onTouchEvent()
04-04 03:31:11.379: D/LayoutView2(3639): onTouchEvent() action: ACTION_DOWN
04-04 03:31:11.379: D/LayoutView2(3639): +onTouchEvent(),returnBlloean=false
04-04 03:31:11.379: I/LayoutView1(3639): +onTouchEvent()
04-04 03:31:11.379: I/LayoutView1(3639): onTouchEvent() action: ACTION_DOWN
04-04 03:31:11.379: I/LayoutView1(3639): +onTouchEvent(),returnBlloean=false
类型二:
LayoutView1
public boolean onInterceptTouchEvent(MotionEvent ev) {
return true;
}
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
LayoutView2
public boolean onInterceptTouchEvent(MotionEvent ev) {
return super.onInterceptTouchEvent(ev);
}
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
点击 MyTextView 运行Log:
04-04 03:42:10.029: I/LayoutView1(4213): +onInterceptTouchEvent()04-04 03:42:10.029: I/LayoutView1(4213): onInterceptTouchEvent() action: ACTION_DOWN
04-04 03:42:10.029: I/LayoutView1(4213): -onInterceptTouchEvent() ,returnBoolean=true
04-04 03:42:10.029: I/LayoutView1(4213): +onTouchEvent()
04-04 03:42:10.039: I/LayoutView1(4213): onTouchEvent() action: ACTION_DOWN
04-04 03:42:10.039: I/LayoutView1(4213): +onTouchEvent(),returnBlloean=false
LayoutView1就直接消耗了,不向下分发了。
类型三:
LayoutView1
public boolean onInterceptTouchEvent(MotionEvent ev) {
return super.onInterceptTouchEvent(ev);
}
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
LayoutView2
public boolean onInterceptTouchEvent(MotionEvent ev) {
return true;
}
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
点击 MyTextView 运行Log:
04-04 03:47:23.129: I/LayoutView1(4598): +onInterceptTouchEvent()04-04 03:47:23.139: I/LayoutView1(4598): onInterceptTouchEvent() action: ACTION_DOWN
04-04 03:47:23.149: I/LayoutView1(4598): -onInterceptTouchEvent() ,returnBoolean=false
04-04 03:47:23.149: D/LayoutView2(4598): +onInterceptTouchEvent()
04-04 03:47:23.149: D/LayoutView2(4598): onInterceptTouchEvent() action: ACTION_DOWN
04-04 03:47:23.149: D/LayoutView2(4598): -onInterceptTouchEvent() ,returnBoolean=true
04-04 03:47:23.149: D/LayoutView2(4598): +onTouchEvent()
04-04 03:47:23.159: D/LayoutView2(4598): onTouchEvent() action: ACTION_DOWN
04-04 03:47:23.159: D/LayoutView2(4598): +onTouchEvent(),returnBlloean=false
04-04 03:47:23.169: I/LayoutView1(4598): +onTouchEvent()
04-04 03:47:23.169: I/LayoutView1(4598): onTouchEvent() action: ACTION_DOWN
04-04 03:47:23.169: I/LayoutView1(4598): +onTouchEvent(),returnBlloean=false
即被LayoutView2消耗了,不向MyTextView分发
类型四:
LayoutView1
public boolean onInterceptTouchEvent(MotionEvent ev) {
return super.onInterceptTouchEvent(ev);
}
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
LayoutView2
public boolean onInterceptTouchEvent(MotionEvent ev) {
return super.onInterceptTouchEvent(ev);
}
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
public boolean onTouchEvent(MotionEvent event) {
return true;
}
点击 MyTextView 运行Log:
04-04 03:52:01.009: I/LayoutView1(4867): +onInterceptTouchEvent()04-04 03:52:01.009: I/LayoutView1(4867): onInterceptTouchEvent() action: ACTION_DOWN
04-04 03:52:01.029: I/LayoutView1(4867): -onInterceptTouchEvent() ,returnBoolean=false
04-04 03:52:01.029: D/LayoutView2(4867): +onInterceptTouchEvent()
04-04 03:52:01.029: D/LayoutView2(4867): onInterceptTouchEvent() action: ACTION_DOWN
04-04 03:52:01.039: D/LayoutView2(4867): -onInterceptTouchEvent() ,returnBoolean=false
04-04 03:52:01.039: W/MyTextView(4867): +onTouchEvent()
04-04 03:52:01.039: W/MyTextView(4867): onTouchEvent() action: ACTION_DOWN
04-04 03:52:01.049: W/MyTextView(4867): -onTouchEvent() returnBoolean =true
04-04 03:52:01.149: I/LayoutView1(4867): +onInterceptTouchEvent()
04-04 03:52:01.149: I/LayoutView1(4867): onInterceptTouchEvent() action: ACTION_UP
04-04 03:52:01.149: I/LayoutView1(4867): -onInterceptTouchEvent() ,returnBoolean=false
04-04 03:52:01.199: D/LayoutView2(4867): +onInterceptTouchEvent()
04-04 03:52:01.199: D/LayoutView2(4867): onInterceptTouchEvent() action: ACTION_UP
04-04 03:52:01.199: D/LayoutView2(4867): -onInterceptTouchEvent() ,returnBoolean=false
04-04 03:52:01.209: W/MyTextView(4867): +onTouchEvent()
04-04 03:52:01.209: W/MyTextView(4867): onTouchEvent() action: ACTION_UP
04-04 03:52:01.209: W/MyTextView(4867): -onTouchEvent() returnBoolean =true
和类型一相比,Down被MyTextView消耗了,不会再向父容器传递了。父容器分发的UP事件也被消耗了
但是,试了很多次,好像UP事件没有像DOWN事件那样被向上传
- 几个View的onTouch事件
- android View 的ontouch事件传递过程
- android view 的onTouch 和 onClick 事件
- view的触摸事件OnTouch与监听
- view的onTouch事件不响应MOVE,up的解决办法
- view的onTouch事件不响应MOVE,up的解决办法
- 按钮的几个事件处理顺序(OnTouch,OnClick)
- View的OnTouch和OnClick事件不能并存问题
- Android View的onTouch和onClick和onLongClick事件
- Android View的onTouch、onClick和onLongClick事件分析
- Android中view的onTouch&onClick事件分发机制详解
- Android View的onTouch和onClick和onLongClick事件
- android的ontouch事件
- android的ontouch事件
- android的ontouch事件
- android随笔小记 view onTouch事件分发
- back键隐藏软件按盘 同时隐藏View 拦截view的ontouch事件
- View的onTouch()与onTouchEvent()
- MySQL添加字段和修改字段的方法
- top命令
- 手机快播文件合并法
- 一步步学习数据结构和算法之选择排序效率分析及java实现
- 监控设施JConsole学习
- 几个View的onTouch事件
- 【SDOI2011】打地鼠
- 可以处理负权的单源最短路径的SPFA算法带图详解(自己画的图)
- 明星隐私?新闻自由?一笔糊涂账
- 什么是iBeacons
- <bean>定义中元素ref 和depends-on 的区别
- 华为P6打开log
- 黑马程序员_交通灯系统代码学习
- js 数字转大写汉字