首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/181915

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

Android View焦点总结

Android View焦点 Android焦点相关逻辑大部分都在都在View, ViewGroup和FocusFinder三个类中. ViewRoot View对象都有一个mParent变量(添加到ViewGroup后), 代指其父容器. 绝大部分View的mParent都是ViewGroup类型, 除了根节点. 一个Window中View根节点DecorView的mParent称为ViewRoot, 在安卓4.0后ViewRoot对应ViewRootImpl, 它不是View的子类, 而是个ViewParent. ViewRootImpl是连接Window和DecorView的纽带, View的焦点, 按键, 布局, 渲染等流程都是从ViewRoot中开始的. View的焦点 基本流程如下 View(包括ViewGroup)获取焦点都通过如下三个方法 View.java 从上面可以看到前两个最终会执行到第三个方法. 最后的requestFocusNoSearch先判断是否可以获取焦点, 然后进入下面的最后流程: View.java 上面的流程比较简单: 如果当前没有焦点, 先置焦点...

Android触摸事件(笔记篇)

类似标题的文章在网上不要讲的太多,我也曾经以为自己掌握了,直到最近用的时候发现问题,才知道自己之前并非真的理解了,遂写下这篇笔记、 事件分发传递的逻辑取决于ACTION_DOWN 同时要注意的是ACTION_MOVE和ACTION_UP的流程并不完全跟ACTION_DOWN一样 下面这幅图是ACTION_DOWN手势的处理逻辑图 以前我对手势处理的概念也仅仅停留在这里,而且我还错误的把ACTION_MOVE和ACTION_UP的逻辑也理所应当的想成这样(就我身边的情况来看,并不仅仅是我这么认为)。 这里我们以ViewGroup为例来总结一下(注意,为了方便理解,我只分析了ViewGroup,activity和View有些许不同) dispatchTouchEvent 可以消费事件 如果返回true,则自己消费掉事件,终止传递; 如果返回false,不消费事件,交由父的onTouchEvent做处理; 如果返回super,不消费事件,将事件派发给onInterceptTouchEvent做处理。 onInterceptTouchEvent 不能消费事件 如果返回true,将事件派发给自己...

相关文章

发表评论

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle

Oracle

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat

Apache Tomcat

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse

Eclipse

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。