View 的工作原理
神坑小白
这个作者很懒,什么都没留下…
展开
-
ViewRoot 和 DecorView 简介
ViewRoot 对应于 ViewRootImpl 类,他是链接WindowManager 和 DecorView 的纽带,View 的三大流程均是通过 ViewRoot 来完成的。在ActivityThread 中,当 Activity 对象呗创建完毕后,会将 DecorView 添加到 Window 中,同时会创建 ViewRootImpl 对象,并将 ViewRootImpl 和 Deco...原创 2018-04-18 17:42:34 · 2527 阅读 · 4 评论 -
理解 MeasureSpec
在开始本篇文章之前,我们先看一段代码: @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expendSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureS...原创 2018-04-18 18:08:18 · 2535 阅读 · 4 评论 -
View 的工作流程(一)
measure 过程要分情况来看,如果只是一个原始的 View,那么通过 measure 方法就完成了测量过程,如果是一个 ViewGroup,除了完成自己的测量以外,还会遍历调用所有子元素的 measure 方法,各个子元素在递归去执行这个流程,下面针对两种情况分别分析。1. View 的 measure 过程View 的 measure 过程有由其 measure 方法来完成,measure ...原创 2018-04-24 17:21:33 · 456 阅读 · 0 评论 -
View 的工作流程(二)
上篇文章我们已经讲解了 View 的 measure 过程,这篇我们来继续分下下边的内容 View 的 Layout 过程和 Draw 过程1. Layout 过程Layout 的作用是 ViewGrrou 用来确定子元素的位置,当 ViewGrrou 的位置被确定后,它在 onLayout 中会遍历所有子元素并调用其 layout 方法,在 layout 方法中,onLayout 方法又会被调用...原创 2018-04-26 16:38:59 · 206 阅读 · 0 评论