当前位置: 首页 > news >正文

阿里网站怎么建设dw如何制作多个网页

阿里网站怎么建设,dw如何制作多个网页,做游戏模型挣钱的网站,商城建站目录 1.你了解过Android的事件分发机制吗?请大致介绍一下 2、如果父view中不拦截down事件,拦截move,up事件,在子view中设置了requestDisallowInterceptTouchEvent(true);(请求父view不拦截事件)这个标志后&#xff0c…

目录

1.你了解过Android的事件分发机制吗?请大致介绍一下

2、如果父view中不拦截down事件,拦截move,up事件,在子view中设置了requestDisallowInterceptTouchEvent(true);(请求父view不拦截事件)这个标志后,子view能收到move,up事件吗?

3、如果某个view 处理事件的时候 没有消耗down事件 会有什么结果?

4.如果view 不消耗move或者up事件 会有什么结果?

5.setOnTouchListener中onTouch的返回值表示什么意思?

6. 如果view设置了onTouchListener,onClickListener,onTouchEvent,那么会先执行哪一个?

7.ViewGroup 默认拦截事件吗?

8.requestDisallowInterceptTouchEvent 可以在子元素中干扰父元素的事件分发吗?如果可以,是全部都可以干扰吗?如果不可以干扰,为什么

9.遇到过滑动冲突没,怎么解决的


1.你了解过Android的事件分发机制吗?请大致介绍一下

事件分发机制主要涉及3个方法,3个对象,3个事件

3个方法分别是

dispatchTouchEvent 返回类型是布尔类型的,表示事件是否分发,如果为false的话,则返回上一层

onInterTouchEvent   返回类型是布尔类型的,在dispatchTouchEvent内部调用,ViewGroup中调用的,表示事件是否拦截,如果拦截的话,会在ViewGroup中消费事件,执行ViewGroup的onTouchEvent方法,否则会继续分发给View

onTouchEvent 返回类型是布尔类型 dispatchTouchEvent中调用 View中默认为ture,表示消费该事件

3个对象:

Activity->ViewGroup->View

3个事件分别是:

ACTION_DOWN:返回true,说明当前View来处理事件,后续事件也要处理,事件不再向下传递;返回false,说明当前View不处理事件,后续事件直接由上一级View处理,当前View也不会再接收到后续事件
ACTION_MOVE、ACTION_UP:返回true,说明其子View已经接收了DOWN事件,这里返回true只会导致该部分事件不再继续向下传递(但也不会传递当前View的onTouchEvent处理),对于没有返回true的事件还按正常流程传递

点击事件产生后,首先会传递给Activity.dispatchTouchEvent方法中,然后会调用getWindow.superDispatchTouchEvent,然后因为window是个抽象类,PhoneWindow是唯一的实现类,所以会通过mDector.dispatchTouchEvent去调用父类的dispatchTouchEvent,然后mDector。也就是DectorView,是个FrameLayout,是个ViewGroup,所以本质上会调用ViewGroup的dispatchTouchEvent,该方法会通过onInterTouchEvent返回值来判断是否进行事件拦截,为false的话不进行拦截或者判断requestDisallowInterTouchEvent是否为ture,如果为true的话,也不进行拦截,如果不进行拦截的话,则遍历子View,依次执行dispatchTransformedTouchEvent方法,这方法会判断是否有子View,如果有的话,则执行View的dispatchTouchEvent方法,如果没有的话,就会执行ViewGroup的父类,也还是View的dispatchTouchEvent方法。

最终会执行onTouchEvent的ACTION_DOWN方法,返回true,表示事件消费完成,后续的ACTION_MOVE(可能有多个)、ACTION_UP也会照着这个流程传递下来,否则如果ACTION_DOWN返回false,则会依次向上传递到上层的onTouchEvent中,同时后续的ACTION_MOVE、ACTION_UP不会往下传递了,然后如果父View对后续的除了DOWN以外的事件进行拦截的话,那么子View只会收到一个ACTION_CANCLE消息,同时后续的事件在父View中处理了

2、如果父view中不拦截down事件,拦截move,up事件,在子view中设置了requestDisallowInterceptTouchEvent(true);(请求父view不拦截事件)这个标志后,子view能收到move,up事件吗?

根据情况来定,

(1)如果子View消费了Down事件,并且设置了requestDisallowInterceptTouchEvent(true)那么后续的move、up事件会正常传过来

(2)如果子view不消费Down事件,并且设置了requestDisallowInterceptTouchEvent(true),则只会收到Down事件,后续的move、up事件收不到

3、如果某个view 处理事件的时候 没有消耗down事件 会有什么结果?

在down事件来的时候 他的onTouchEvent返回false, 那么这个down事件 所属的事件序列 就是他后续的move 和up 都不会给他处理了,全部都给他的父view处理。

4.如果view 不消耗move或者up事件 会有什么结果?

那这个事件所属的事件序列就消失了,父view也不会处理的,最终都给activity 去处理了。

5.setOnTouchListener中onTouch的返回值表示什么意思?

返回true,表示事件被消耗掉了,onClick跟onLongClick将不再执行,返回false,可以继续传递onClick跟onLongClick还是会继续执行

6. 如果view设置了onTouchListener,onClickListener,onTouchEvent,那么会先执行哪一个?

这块由View的dispatchTouchEvent源码可知,优先执行onTouchListener.onTouch方法,然后在往下执行onTouchEvent方法中执行onClickListener

7.ViewGroup 默认拦截事件吗?

默认不拦截,由源码onInterceptTouchEvent可知,默认return false

8.requestDisallowInterceptTouchEvent 可以在子元素中干扰父元素的事件分发吗?如果可以,是全部都可以干扰吗?如果不可以干扰,为什么

正常是都可以干扰,除了ACTION_DOWN事件,因为ACTION_DOWN事件在ViewGroup的dispatchTouchEvent中刚开始会调用resetTouchState重置,所以当在判断disallowIntercept的时候始终都为false,从而对它造成不了影响,所以如果父元素对ACTION_DOWN进行拦截的话,那么后续的事件是分发不到子View的,子View只会收到ACTION_DOWN事件和ACTION_CANCLE事件

9.遇到过滑动冲突没,怎么解决的

有2种解决方法:

1.外部拦截法,也就是ViewGroup去做处理,ViewGroup重新onInterceptToucEvent,拦截除了ACTION_DOWN以外的其他事件,所以ACTION_DOWN必须返回false,要不然后续的ACTION_MOVE、ACTION_UP就到不了子View了,不过这块也是根据实际情况具体去写

2.内部拦截法,也就是子View去做处理,子View重写dispatchTouchEvent,需要子元素配合requestDisallowInterceptTouchEvent方法才能正常工作;父元素需要默认拦截除ACTION_DOWN以外的事件,这样子元素调用parent.requestDisallowInterceptTouchEvent(false)方法时,父元素才能继续拦截需要的事件。(ACTION_DOWN事件不受requestDisallowInterceptTouchEvent方法影响,所以一旦父元素拦截ACTION_DOWN事件,那么所有元素都无法传递到子元素去)

http://www.yayakq.cn/news/979799/

相关文章:

  • 上海外贸网站推广服务网站程序设计软件
  • 吉安县规划建设局网站广西住房和城乡建设厅培训中心网
  • 做外贸企业网站要注意哪些网站建设与管理实践收获怎么写
  • pinterest网站怎么进如何做一个app软件需要多少钱
  • 用什么软件做网站布局做网站租服务器一年多少钱
  • 企业品牌网站有哪些怎样投网站广告
  • 什么网站可以做宝宝相册泉州网站建设价格
  • 昆明市网站制作公司产品类型 速成网站
  • 广州网站建设价格如何开发自己公司的网站
  • 做网站 阿里云和百度云哪个好艺术签名在线生成器
  • 网站支付怎么做安全吗做信息网站要办icp证吗
  • 企业建设网站的预期收益建立网站需要多少钱 索 圈湖南岚鸿
  • seo网站买黄页网站软件下载免费app
  • 汕头企业网站公司济南网站建设外包公司
  • 用dede做的网站wordpress调用所有栏目
  • app推广平台接单渠道外贸seo是啥
  • 微享网络网站建设免费网站在线收看
  • 科技公司网站设计风格公益广告
  • 做网站的团队网页设计特效网站
  • 把公司网站 公开下载 做教程 侵权吗加强检察院门户网站建设
  • 福州市高速公路建设指挥部网站内蒙古城乡建设和住房建设厅网站
  • 网站开发大赛发言稿河南建设
  • 杭州手机网站制作自助建网站的平台 数据库
  • 住房建设部官方网站设计费计取徐州市网站
  • 四平公司做网站涪陵建设工程信息网站
  • 手机怎么建网站成都网站建设 网络公司
  • 网站开发语言怎么查南宁刚刚发生的事
  • 北京网站上排名成都微信网站建设多少
  • iis端口相同不同网站建设网络维护公司创业计划书
  • 网站备案一般需要多久指数函数求导