motionEnabled

两个步骤

Android进阶- 触摸事件的分发机制

Android进阶- 触摸事件的分发机制

  • 先来看一下,触摸事件传递的3个方法

    • onInteceptTouchEvent(): 返回true表示拦截这次触摸事件, false表示不拦截
    • dispatchTouchEvent(): 用来分发事件, 如果事件被拦截则交给
    • onTouchEvent(): 处理触摸事件,返回true表示事件被消耗, false表示没有对触摸事件进行处理
  • 那么,Android的触摸事件是怎样分发的呢

这里写图片描述

这里写图片描述

可以看出,事件会优先交给父控件来处理, 但是这样的话,做儿子的是不是也太没有权利了,因此,为了给儿子一点机会,
在dispathchTouchEvent()中可以这样写:
getParent().requestDisallowInterceptTouchEvent(true); //请求父控件给它处理触摸事件的机会

在anroid中ViewGroup一般是将事件优先交给其儿子来处理的

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sdlg2015/article/details/49933447
文章标签: android
个人分类: Android
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

Android进阶- 触摸事件的分发机制

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭