Android 画图流程

绘画流程,计算视图大小(measure)、设置视图的位置(layout),绘画(draw)

1.计算视图大小(measure)

计算视图大小是从measure开始的,view的measure是final类型方法,所以实际调用的是View的measure,在measure里面调用的是onMeasure(ViewGroup没有重写onMeasure)。

如果是ViewGroup的实现类一般都会重写onMeasure,在onMeansure一般需要计算子类视图大小ViewGroup提供了meansureChildren方法,meansureChildren方法实际是调用子类的meansure方法。

onMeasure最后会设置控件大小会调用setMeasureDimension。

2.设置视图的位置(layout)

视图的位置设置是从layout开始的,layout会调用onlayout

3.绘画(draw)

绘画是从draw开始的,draw依次调用onDraw dispatchDraw onDrawForegroup。ViewGroup的dispatchDraw会调用drawChild,drawChild调用子控件的draw。

 

 
 

转载于:https://my.oschina.net/u/1768986/blog/709735

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值