[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过程

[Android学习笔记]View的draw过程学习,布布扣,bubuko.com

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

上一篇:android.annotation.SuppressLint 报错分析


下一篇:也说庆丰包子铺:三层架构与小笼包(转)