事件分发机制

  • 前言
  • 一、为什么会有事件分发机制
    • 1、phonewindow
    • 2、decorview
  • 二、事件分发的方法
    • 1、dispatchTouchEvent
    • 2、onIntercrptTouchEvent
    • 3、onTouchEvent
  • 三、事件分发流程
  • 总结

前言

Android面试基本知识点->AsyncTask面试详解问题记录,后续会完善。


提示:以下是本篇文章正文内容,下面案例可供参考

一、为什么会有事件分发机制

由于android上面的view是树形结构的,view可能会重叠在一起,当我们点击的地方有多个view都可以响应的时候这个点击事件应该给谁,为了解决这一个问题,就有了事件分发机制。

1、phonewindow

phonewindow是抽象类window的实现类(所有视图最顶层的容器)。包括背景显示,标题栏事件的处理,可以把他当作view的最顶层管理容器,由于是抽象类无法真正实现,所以要交给唯一实现类phonewindow

2、decorview

phonewindow的内部类

二、事件分发的方法

1、dispatchTouchEvent

决定是由自己的touchevent处理还是分发给子view

2、onIntercrptTouchEvent

决定处理,进行拦截在onTouchEvent进行处理

3、onTouchEvent

view的一个方法。

三、事件分发流程

activity -> phonewindow -> decorview -> viewGroup -> … -> view
如果view没有拦截处理,会回传一直到activity,activity没有拦截,则抛弃
如果view消耗掉(处理了),ontouchevent返回了true
会依次返回true交给dispathtouchevent告诉上层view,事件已经被处理,就不要响应了,一直true到activity。


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

Android面试笔记之事件分发机制相关推荐

  1. java 事件分发机制_读Android源码之事件分发机制最全总结

    原标题:读Android源码之事件分发机制最全总结 本文源码来自andorid sdk 22,不同版本会有细微差别,但核心机制是一致的 一.概述 事件分发有多种类型, 本文主要介绍Touch相关的事件 ...

  2. Android事件分发机制完全解析,带你从源码的角度彻底理解(上)

    <div id="container">         <div id="header">     <div class=&qu ...

  3. 【转】Android事件分发机制完全解析,带你从源码的角度彻底理解(下)

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9153761 记得在前面的文章中,我带大家一起从源码的角度分析了Android中Vi ...

  4. Android View的事件分发机制和滑动冲突解决方案

    这篇文章会先讲Android中View的事件分发机制,然后再介绍Android滑动冲突的形成原因并给出解决方案.因水平有限,讲的不会太过深入,只希望各位看了之后对事件分发机制的流程有个大概的概念,并且 ...

  5. 事件分发机制Android,阿里P7级别面试经验总结,实战篇

    缘起 随着Android开发行业逐渐饱和,对Android开发者的面试要求也越来越高,是否掌握底层源码,是面试官衡量一名Android开发者的重要依据.有没有读过源码也可以很大程度上判断你这个人的学习 ...

  6. Android面试老生常谈的 View 事件分发机制,看这一篇就够了

    本文首发我的微信公众号:徐公,想成为一名优秀的 Android 开发者,需要一份完备的 知识体系,在这里,让我们一起成长,变得更好~. 在 Android 开发当中,View 的事件分发机制是一块很重 ...

  7. Android事件分发机制五:面试官你坐啊

    前言 很高兴遇见你~ 事件分发系列文章已经到最后一篇了,先来回顾一下前面四篇,也当个目录: Android事件分发机制一:事件是如何到达activity的? : 从window机制出发分析了事件分发的 ...

  8. 两年 Android 经验面经(有赞等公司),安卓事件分发机制面试

    包类型分为Text类型.Table类型.资源类型.曲线类型.交互模式数据(曲线类型属性主要是点,关键方法append,可以增量更新数据) 公司自己定义了个 Base64编码,算法当然不要去纠结了 延伸 ...

  9. Android工作经验6年,Android事件分发机制收藏这一篇就够了,分享PDF高清版

    前言 首先介绍一下自己,计算机水本,考研与我无缘.之前在帝都某公司算法部实习,公司算大公司吧,然而个人爱好偏开发,大二的时候写个一个app,主要是用各种框架. 饿了么Android岗一面 1:双亲委托 ...

最新文章

  1. 前沿 | DeepMind改进超参数优化:遗传算法效果超越贝叶斯
  2. Swift2.0 中的String(一):常用属性
  3. 浅谈电量传感器在数据中心的UPS电源中的应用
  4. 自定义图片,实现透明度动态变化
  5. 两线怎么接三线插座图_水温传感器怎么判断好坏
  6. HDU 4618 - Palindrome Sub-Array(2013MUTC2-1008)(DP)
  7. 数据结构与算法--代码鲁棒性案例分析
  8. 使用Forge插件在现有Java EE项目上启用Arquillian
  9. java给按钮加声音_怎么在java中给按钮添加声音?
  10. 计算机导论在线阅读,计算思维与计算机导论.pdf
  11. oracle add命令详解,oracle job详解
  12. PhpStorm取消创建一个文件自动就add提交到git
  13. 动态规划-有关计数问题的DP-多重集组合数
  14. 中仪股份管道机器人_中仪股份 X5-HT 管道CCTV检测机器人
  15. html在线画板代码,html5在线画板
  16. 企业邮箱部署SSL证书
  17. UnExpected Error, Quitting
  18. 淘宝滞销宝贝怎么处理?面对滞销宝贝怎么正确处理?
  19. 【微信小程序+echarts点亮中国地图】微信小程序echarts中国地图点亮功能
  20. SIM卡的IMSI号

热门文章

  1. 27个Python数据科学库,千万不要错过!!
  2. 公式等图片等富文本在线一些程序
  3. Adobe illustrator画出CAD里面的剖面线效果
  4. 五一出行新能源汽车暴露了真面目,简直就是电动爹
  5. iOS定位示例与原理
  6. 黑河学院计算机技术新生名单,2021年黑河学院有几个校区,大一新生在哪个校区...
  7. 【C++ 学习总结】- 03 - 类的认识:友元关系
  8. 征服Node.js 7.x视频课程(1):Node.js入门-李宁-专题视频课程
  9. 三次样条曲线插值(cubic spline)实例应用
  10. Python 实现简单 Vector 类