注意:
在View把事件消费后,如果View的onTouch方法返回true,View的dispatchTouchEvent方法会直接返回true,不会再调用View的onClick方法;只有当onTouch方法返回false时,才会有onClick事件处理 。
思考点
- onTouch()和onTouchEvent()的区别?
特别注意:请看下面代码
//1. mOnTouchListener的值不能为空 //2. 当前点击的控件必须是enable的mOnTouchListener !=null && (mViewFlags & ENABLED_MASK) == ENABLED &&mOnTouchListener.onTouch(this, event)
因此如果你有一个控件是非enable的,那么给它注册onTouch事件将永远得不到执行 。对于这一类控件,如果我们想要监听它的touch事件,就必须通过在该控件中重写onTouchEvent方法来实现 。- Touch事件的后续事件(MOVE、UP)层级传递
推荐阅读
- 谷歌|第一款Android 13旗舰已在路上 谷歌Pixel 7系列10月登场
- 水门事件发生了什么(水门事件的前因后果)
- 苹果|威尔·史密斯耳光事件后首度发声
- 电影|威尔史密斯发布奥斯卡掌掴事件道歉视频:我一直在反思
- 豪车|雷克萨斯豪车发生交通事故车门锁死 官方声明:密切关注事件调查进展
- Android 使用git合入修改patch
- 谷歌对Android 13的Beta 4.1进行最后润色,9月推出稳定版更新
- 莫雷又说了什么 莫雷事件说什么了
- 吴签是什么意思啊吴亦凡事件 吴签是什么意思
- 腾讯老干妈事件完结 腾讯和老干妈怎么了