ViewGroup.measureChildWithMargins() 学习笔记
来源:互联网 发布:逆矩阵的求法 编辑:程序博客网 时间:2024/06/07 16:03
一、VIew 中对 子视图 进行 measure() 操作:
1.measureChildren(): 内部调用 measureChild() 对每一个子视图进行 measure 操作
2.measureChild() : 为指定的子视图进行measure操作
3.measureChildWithMargins() : measure 时考虑把 margin 及 padding 也作为子视图大小的一部分
二、measureChildWithMargins() 执行流程:
1.调用child.getLayoutParams()获得子视图的LayoutParams属性
1.1 该方法需要重载 generateDefaultLayoutParams() 返回一个继承自 ViewGroup.MarginLayoutParams 的 布局类(例如 LinearLayout.LayoutParams),
如果未重载将导致 本 View 的XML属性 layout_margin 失效并且不能使用 measureChildWithMargins()
2.调用两次 getChildMeasureSpec()函数,分别计算出孩子视图的宽度和高度的 Spec(确定子视图的测量规格).
3.调用child.measure()函数,确定子视图的最终布局大小。
三、最后调用resolveSize()获取高度,然后调用 setMeasureDimension()设置该本身所占用的布局高度。
0 0
- ViewGroup.measureChildWithMargins() 学习笔记
- 学习ViewGroup事件分发笔记(一)
- Android学习笔记(8):ViewGroup类
- 自定义View学习笔记之继承ViewGroup
- 安卓学习笔记之自定义ViewGroup
- Android 学习笔记 初学自定义viewgroup
- Android ViewGroup事件分发机制学习笔记
- ViewGroup 学习
- Android学习笔记:如何自定义ViewGroup和View
- Android学习笔记(一) View、ViewGroup的测量绘制
- android viewgroup 的事件传递机制学习笔记
- 事件分发学习笔记二(ViewGroup篇)
- 自定义ViewGroup笔记--ViewDragHelper
- ViewGroup学习(一)
- ViewGroup自定义学习
- ViewGroup学习网址
- 自定义ViewGroup学习
- android ViewGroup学习
- 【数据压缩】算术编码ARITHMETIC CODING
- QPS和TPS
- android中单元测试中的断言assert的使用与扩展
- android系列:Intent和IntentFilter详解
- iOS杂谈15—APP被苹果APPStore拒绝的各种原因
- ViewGroup.measureChildWithMargins() 学习笔记
- rac日常维护技巧
- Activity第二节——03
- 申通在新兴异构SoCs上集成AUTOSAR、车载信息娱乐和仪表子系统
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
- C#中往数据库插入/更新时候关于NUll空值的处理
- 很好的理由使用
- 学习Emacs系列教程(十):多窗口
- SVN和Git的比较