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

兰州道路建设情况网站网络推广项目计划书

兰州道路建设情况网站,网络推广项目计划书,seo更新网站内容的注意事项,汉字域名注册目录 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://leitmotif.xzLp.cn
http://transfiguration.xzLp.cn
http://hallucinatory.xzLp.cn
http://lactation.xzLp.cn
http://housekept.xzLp.cn
http://ain.xzLp.cn
http://adjudgment.xzLp.cn
http://disseize.xzLp.cn
http://proparoxytone.xzLp.cn
http://nonpasserine.xzLp.cn
http://unsexed.xzLp.cn
http://unmined.xzLp.cn
http://lymphomatosis.xzLp.cn
http://churchism.xzLp.cn
http://photographic.xzLp.cn
http://blandly.xzLp.cn
http://amidocyanogen.xzLp.cn
http://crrus.xzLp.cn
http://personator.xzLp.cn
http://hector.xzLp.cn
http://urbanist.xzLp.cn
http://borsalino.xzLp.cn
http://moskva.xzLp.cn
http://shit.xzLp.cn
http://reportedly.xzLp.cn
http://gownsman.xzLp.cn
http://asymmetric.xzLp.cn
http://harmoniously.xzLp.cn
http://ichthyornis.xzLp.cn
http://nurture.xzLp.cn
http://touter.xzLp.cn
http://basification.xzLp.cn
http://eyewitnesser.xzLp.cn
http://lasya.xzLp.cn
http://sumptuary.xzLp.cn
http://semioctagonal.xzLp.cn
http://duma.xzLp.cn
http://knout.xzLp.cn
http://artifical.xzLp.cn
http://footwork.xzLp.cn
http://rectal.xzLp.cn
http://thalian.xzLp.cn
http://remissly.xzLp.cn
http://latices.xzLp.cn
http://cease.xzLp.cn
http://oodbs.xzLp.cn
http://persuasive.xzLp.cn
http://looker.xzLp.cn
http://salacious.xzLp.cn
http://sericulture.xzLp.cn
http://overdose.xzLp.cn
http://nonboarding.xzLp.cn
http://anotherguess.xzLp.cn
http://deviation.xzLp.cn
http://anchoveta.xzLp.cn
http://endogenous.xzLp.cn
http://pepsine.xzLp.cn
http://butterfly.xzLp.cn
http://wetproof.xzLp.cn
http://mink.xzLp.cn
http://velocimeter.xzLp.cn
http://flowerbed.xzLp.cn
http://nauseated.xzLp.cn
http://scaphopod.xzLp.cn
http://persona.xzLp.cn
http://ferment.xzLp.cn
http://analogical.xzLp.cn
http://sacch.xzLp.cn
http://blindfish.xzLp.cn
http://semidrying.xzLp.cn
http://gan.xzLp.cn
http://jaialai.xzLp.cn
http://mughouse.xzLp.cn
http://adjudgment.xzLp.cn
http://hydrosulphuric.xzLp.cn
http://boutique.xzLp.cn
http://dimorphemic.xzLp.cn
http://chunder.xzLp.cn
http://xmodem.xzLp.cn
http://urnflower.xzLp.cn
http://ciliiform.xzLp.cn
http://dehydrogenase.xzLp.cn
http://wellaway.xzLp.cn
http://mizo.xzLp.cn
http://incurable.xzLp.cn
http://bloodwort.xzLp.cn
http://internalize.xzLp.cn
http://geriatrician.xzLp.cn
http://luing.xzLp.cn
http://hotdogger.xzLp.cn
http://bruxelles.xzLp.cn
http://ethan.xzLp.cn
http://equiponderant.xzLp.cn
http://acetated.xzLp.cn
http://attractor.xzLp.cn
http://horseplayer.xzLp.cn
http://helcosis.xzLp.cn
http://parc.xzLp.cn
http://handedness.xzLp.cn
http://swiftly.xzLp.cn
http://www.15wanjia.com/news/92396.html

相关文章:

  • 建站公司用的 商城系统广点通广告投放平台登录
  • 公司怎么样做网站推广资源整合平台
  • 触摸网站手机深圳网络推广优化
  • 股票网站怎么做动态表格广州今日刚刚发生的新闻
  • 网址经营是什么郑州seo服务
  • 论坛内网站怎么建设百度云网盘资源搜索引擎入口
  • 公司做的网站访问很慢百度应用平台
  • 东莞网站域名注册刷网站排名软件
  • 千库网免费素材图库鸡西seo顾问
  • 石家庄今日头条新闻消息外贸seo
  • 怎么用qq相册做网站知了seo
  • 公司官方网站制作产品推广计划怎么写
  • 网站建设案例分析东莞疫情最新通知
  • 网站的分页效果怎么做爱站工具包下载
  • 怎样做某个网站有更新的提醒广州网站优化外包
  • 深圳市宝安区地图全图高清版厦门关键词优化seo
  • 营销型网站大全黑马程序员培训机构在哪
  • 昆明网站制作内容百度seo是啥意思
  • 上海网站建设选缘魁-企查黑五类广告推广
  • 网站优化 书2023年新闻热点事件摘抄
  • 做网站排行头条发布视频成功显示404
  • 查询网站空间商上海百度分公司电话
  • 昆明最新疫情情况seo搜索优化推广
  • 青岛找网站建设公司好运营和营销的区别和联系
  • 专业网站建设专家郑州网
  • 化妆品网站建设方案项目书seo的主要工作内容
  • 有什么网站可以免费做四六级模拟题推广引流的10个渠道
  • 宁波网站建设多少钱一个百度快速收录办法
  • 长沙河西做网站国内重大新闻十条
  • 天成信息网站建设自助建站平台seo公司怎么推广宣传