04 自定义ViewGroup流程
2020-09-25 本文已影响0人
凤邪摩羯
自定义ViewGroup: 则只需要重写onMeasure()和onLayout()
1 onMeasure:
- 确定自身的大小
- 确定子view的大小
尺寸: 200dp, match_ parent, wrap_ content
- 流程:
- ViewGroup开始测量自己的尺寸
2.为每个子Viewi计算测量的限制信息
3.把上一步确定的限制信息,传递给每一个子view,然后子View开始measure
4.获取子View测量完成后的尺寸
- ViewGroup根据自身的情况,计算自己的尺寸
6.保存自身的尺寸
2 onLayout
-
根据规则确定子view位置
-
流程:
- 遍历子View for
2.确定自己的规则
-
子View的测量尺寸
-
left, top, right, bottom
-
调用child. layout