关于定义布局OnMeasure 的总结
来源:互联网 发布:欢乐动漫 知乎 编辑:程序博客网 时间:2024/06/18 18:05
因为DecorView实际上是派生自FrameLayout的类,也即一个ViewGroup实例,该ViewGroup内部的ContentViews又是一个ViewGroup实例,依次内嵌View或ViewGroup形成一个View树。所以measure函数的作用是为整个View树计算实际的大小,设置每个View对象的布局大小(“窗口”大小)。实际对应属性就是View中的mMeasuredHeight(高)和mMeasureWidth(宽)。
在View类中measure过程主要涉及三个函数,函数原型分别为
public final void measure(int widthMeasureSpec, int heightMeasureSpec)
protected final void setMeasuredDimension(int measuredWidth, int measuredHeight)
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
前面两个函数都是final类型的,不能重载,为此在ViewGroup派生的非抽象类中我们必须重载onMeasure函数,实现measure的原理是:假如View还有子View,则measure子View,直到所有的子View完成measure操作之后,再measure自己。ViewGroup中提供的measureChild或measureChildWithMargins就是实现这个功能的。 自定义控件的时候经常会重写OnMeasure方法,测量之类,给容器限制大小范围,记录下设置的宽高大小 。接下来 先看下源码
- 关于定义布局OnMeasure 的总结
- 关于View的onMeasure
- LinearLayout的onMeasure总结
- ListView的onMeasure总结
- onMeasure,onLoyout,onDraw的测量和布局
- 关于onMeasure
- 关于onMeasure
- 关于onMeasure(),onlayout()方法的简单介绍
- 关于RelativeLayout中onMeasure()的理解
- 流式布局的实现-2-onMeasure的实现
- 关于自适应布局的一点总结
- 关于响应式布局的总结
- 关于响应式布局的总结
- 通过onMeasure方法修改布局高跟宽的比例
- Android流式布局FlowLayout的实现,Android布局的内部机制onMeasure、onLayout
- 关于自定义控件的onMeasure()其中的MeasureSpec
- 关于onMeasure ()和onLayout()的一些个人理解
- 关于View的onMeasure()、onSizeChanged()、onLayout()、onDraw()调用顺序
- js 闭包
- CornerStone commit不成功解决方案
- Linux Shell下的后台运行及其前台的转换 http://mobile.51cto.com/others-446925.htm
- MYSQL 创建用户
- 沈阳微信二维码营销技巧(不得不看)
- 关于定义布局OnMeasure 的总结
- 拆字
- $(window).load(function() {})和$(document).ready(function(){})的区别
- 海量数据处理
- 一个很不错的远程软件TeamViewer
- VC 为程序创建快捷方式的详细讲解
- css不用旋转实现返回箭头,圆点,三角形
- 安卓驱动学习笔记1----关于友善之臂SD卡烧写的问题
- Best Practices for Performance PPT