1.View的绘制流程分几步,从哪开始?哪个过程结束以后能看到view? 答:从ViewRoot的performTraversals开始,经过measure,layout,draw 三个流程。draw流程结束以后就可以在屏幕上看到view了。 2.view的测量宽高和实际宽高有区别吗? 答:基本上百 ...
分类:
移动开发 时间:
2017-05-05 19:25:23
阅读次数:
204
概述上一篇博文对DecorView和ViewRootImpl的关系进行了剖析,这篇文章主要是来剖析View绘制的三个基本流程:measure,layout,draw,只有把这三个基本流程搞清楚了,平时...
分类:
移动开发 时间:
2017-04-24 12:21:35
阅读次数:
297
记清楚函数调用的顺序才能准确地进行调用。 根据调用链,可将整个绘制过程分为三部分:Measure - Layout - Draw Measure 过程 1. 测量过程由上至下,在measure过程的最后,每个视图将存储自己的尺寸大小和测量规格。 2. measure过程会为一个View及其所有子节点 ...
分类:
其他好文 时间:
2017-04-11 13:20:13
阅读次数:
198
前言 前几篇文章,笔者分别讲述了DecorView,measure,layout流程等,接下来将详细分析三大工作流程的最后一个流程——绘制流程。测量流程决定了View的大小,布局流程决定了View的位置,那么绘制流程将决定View的样子,一个View该显示什么由绘制流程完成。以下源码均取自Andro ...
分类:
移动开发 时间:
2017-04-10 17:01:36
阅读次数:
227
前言
自定义View是Android开发者必须了解的基础;而Path类的使用在自定义View绘制中发挥着非常重要的作用
网上有大量关于自定义View中Path类的文章,但存在一些问题:内容不全、思路不...
分类:
其他好文 时间:
2017-03-07 11:57:22
阅读次数:
283
电话面试一般面试广度比较大,深度一般不会太大,安卓一般面试以下几点。 安卓View绘制流程事件分发机制JAVA基础思想多线程和安全问题安卓性能优化和兼容问题再问一下常规的组件相关问题 1 请描述安卓四大组建之间的关系,并说下安卓MVC的设计模式。 2 线程中sleep()和wait()有和却别,各有 ...
分类:
移动开发 时间:
2017-02-05 23:51:53
阅读次数:
597
自从1983年第一台图形用户界面的个人电脑问世以来,几乎所有的PC操作系统都支持可视化操作,Android也不例外。对于所有Android Developer来说,我们接触最多的控件就是View。通常,我们使用自定义View,需要了解最多的除了事件分发,就是View的绘制过程。然而关于View的绘制 ...
分类:
移动开发 时间:
2016-12-30 10:48:18
阅读次数:
400
今天主要学习记录一下Android View绘制三部曲的第一步,onMeasure,测量。 起源 在Activity中,所有的View都是DecorView的子View,然后DecorView又是被ViewRootImpl所控制,当Activity显示的时候,ViewRootImpl的perform ...
分类:
其他好文 时间:
2016-12-30 10:46:45
阅读次数:
257
上一篇文章我们了解了View的onLayout,那么今天我们来学习Android View绘制三部曲的最后一步,onDraw,绘制。 ViewRootImpl#performDraw performDraw主要的作用是调用ViewRootImpl#draw方法,并传递一个mFullRedrawNee ...
分类:
其他好文 时间:
2016-12-30 10:41:19
阅读次数:
272
上一篇文章我们了解了View的onMeasure,那么今天我们继续来学习Android View绘制三部曲的第二步,onLayout,布局。 ViewRootImpl#performLayout 这个方法主要的作用就是调用了host.layout,并把已经测绘好的宽高传计算成上下左右递过去,host ...
分类:
其他好文 时间:
2016-12-30 10:26:08
阅读次数:
252