[Android学习笔记]View的draw过程学习

View从创建到显示到屏幕需要经历几个过程:

measure -> layout -> draw

measure过程:计算view所占屏幕大小
layout过程:设置view在屏幕的位置
draw过程:绘制view


继承自view的控件的draw过程

draw方法是由viewRoot对象的performTraversale()方法调用的

draw方法中做了一下几个事:
1.绘制view的背景
2.为绘制渐变做准备
3.回调onDraw()方法
4.调用dispatchDraw()方法
5.绘制渐变框

与draw有关的几个方法:
invalidate()方法
请求重新绘制view树,但是只绘制需要绘制的部分

requestLayout()方法
请求布局,调用此方法会导致调用measure过程和layout过程,但是不会调用draw过程

requestFocus()
请求调用view树的draw过程


View的绘制过程回调方法调用次数:

onMeasure -> onLayout -> onMeasure -> onLayout -> onDraw -> 显示屏幕

onMeasure和onLayout会被调用两次

上一篇:bootstrap-16


下一篇:【学习笔记】jQuery的基础学习