1、当View的measure被确定后,会调用ViewGroup的layout方法,之后使用onLayout方法(同样也是系统未自动重写,要我们自己完成)遍历子View(根Measure的形式是一样得)与Measure不同的时候,允许重写layout()方法。
分析layout源码:(P194 ①)
原理:通过setFrame方法设定View的四个顶点的位置,接着调用onLayout方法确定子元素的位置。
以LinearLayout的onLayout方法(Vertial):遍历子元素的layout方法,增加childTop(让子View的位置向下)。
因为一般View没有子View所以就没有onLayout的必要,直接调用View提供的layout方法就可以了。
本文深入探讨了Android中ViewGroup的layout方法与onLayout方法的工作原理,解释了如何通过setFrame方法设定View的位置,并详细分析了LinearLayout在垂直方向上如何遍历子元素并调整其位置。了解这些核心机制对于掌握Android布局至关重要。
1256

被折叠的 条评论
为什么被折叠?



