前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面试大厂被问到事件分发,这几个点一定要说清楚!

面试大厂被问到事件分发,这几个点一定要说清楚!

作者头像
用户1907613
发布2021-06-17 20:18:33
2870
发布2021-06-17 20:18:33
举报
文章被收录于专栏:Android群英传

事件分发是一个老生常谈的东西了,不管是面试亦或者开发中都可以用到,像滑动冲突几乎是每个开发者都遇到过。

滑动是Android中不可缺少的一部分,但多个滑动必然会产生冲突,面对滑动冲突,很多开发人员不知道从哪里入手,那么我们如何找到解决问题的切入点呢?

在平时的开发中,大家可能会经常遇到这样的场景:

  • 滑动列表部分时,整个页面一起滑动,而不是只滑动列表内容
  • 一会儿是列表滑动,一会儿是整个页面滑动,而不是按照预期的要求来滑动

这就是我们常说的滑动冲突问题。

滑动冲突的问题,经常让开发者们头痛不已。因为经常很多滑动相关的控件,如ScrollView、ListView等,在单独使用的时候酷炫不已,但将他们组合在一起使用,就失灵了。比如手指在屏幕上上下滑动,列表和整个页面都有滑动功能,此时如果处理不当,就会导致系统也不知道要让谁来消费这个滑动事件,这就是滑动冲突产生的原因。

目前常见的滑动冲突主要可以分为以下三种来概括:
  1. 外部滑动方向和内部View的滑动方向不一致,内部的View和外部的View的滑动方向是互相垂直的,比如Scroll View嵌套View Pager(图1-1)
  2. 外部滑动方向和内部View的滑动方向是一致的,内部的View和外部的View的滑动方向互相平行,比如Scroll View嵌套RecyclerView (图1-2)
  3. 外部滑动方向与内部滑动方向即有相同的又有垂直的,也就是以上两种情况的综合出现,这种情况是算比较复杂的一种情况(图1-3)

很多开发者一旦遇到这种事件冲突问题,第一反应就是百度搜博客,但如果通过博客文章学习,看完后也只能解决和文中一模一样的问题,更别说别人的博客中代码可能有毒了……

后续一旦项目中再出现事件冲突问题,很难将文章中的知识点运用到实际问题当中,归根结底,就是没有掌握到其中的原理

没有掌握原理就更别说在大厂面试中的回答获得面试官的青睐了,升职加薪梦只会原来越遥远……

不信来看看这些大厂面试真题,你能答上来几个?

  1. 说说你对事件分发机制的理解。(阿里面试真题)
  2. down事件和move事件对应的流程机制是什么?(腾讯面试真题)
  3. 事件冲突中如何快速找到解决方案,请举例。(字节面试真题)
  4. ScrollView 和RecyclerView 冲突时,如何解决?(百度面试真题)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 群英传 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目前常见的滑动冲突主要可以分为以下三种来概括:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档