Android ViewGroup使用小结

时间:2014-10-10 14:38:35   收藏:0   阅读:366

ViewGroup定义

在api中是这么描述ViewGroup的:A ViewGroup is a special view that can contain other views. 根据意思我们可以明白,在ViewGroup中可以包含其他UI控件,包括我们的自定义控件

优势及用处

我们了解UI控件最大的目的是使用它。而要了解控件,必须明白该控件的优点。ViewGroup在Android的UI控件中相对复杂,它的自定义程度很高,借助declare-styleable自定义控件属性,几乎控件的各个方便都可以控制到。

了解到这些优点之后,你会想到哪里有ViewGroup的用武之地呢?考虑考虑,我会在文章最后说说我的理解。

绘制流程

ViewGroup中有两个及其重要的回调方法

onMeasure

Ask all children to measure themselves and compute the measurement of this layout based on the children.

onLayout

Position all children within this layout.

以上是api中对两个方法的解释,真实使用中onMeasure和onLayout都可能被调用多次,根据log我们会发现onLayout都是在onMeasure之后才调用,这也证实了api的说法,ViewGroup在绘图之前先把数值算好,然后根据对应的值把控件绘制到相对应的地方。

getMeasuredWidth

这个方法在这里单独拿出来说一下,在onMeasure方法中计算控件存放位置时,我们会用到getMeasuredWidth()和getMeasuredHeight(),这里得到的值包括padding,不包括margin,在计算的时候要注意

原文:http://blog.csdn.net/vic_fang/article/details/39961723

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!