莫道桑榆晚,为霞尚满天。这篇文章主要讲述Android View的测量相关的知识,希望能为你提供帮助。
一、简介
android系统在绘制View前,必须对View进行测量,即告诉系统该画一个多大的View。这个过程在onMeasure()方法中进行。Android系统提供了MeasureSpec类,通过帮助我们测量View。
测量模式可以分为三种:
- EXACTLY:即为精确值模式,系统默认使用的是EXACTLY模式。
- AT_MOST:即最大值模式,当控件的layout_width属性或layout_height属性指定为wrap_content时,控件大小一般随着控件的子空间或内容的变化而变化,此的控件的尺寸只要不超过父控件允许的最大尺寸即可。
- UNSPECIFIED:它不指定其大小测量模式,View想多大就多大,通常情况下在绘制自定义View时才会使用。
通过MeasureSpec类,就可以获取到View的测量模式和View想要绘制的大小。有了这些信息,就可以控制View最后显示的大小。
二、实例
1 @Override 2 protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) 3 { 4super.onMeasure(widthMeasureSpec, heightMeasureSpec); 5 }
【Android View的测量】
推荐阅读
- Android 事件机制
- Android 本地序列化
- Android Activity的四种LaunchMode
- Ionic创建混合App
- androidj基础(从网上下载图片)
- Android状态栏着色
- Android 动画进阶之动画切换
- Android View的绘制
- cocos2d-x 3.0游戏实例学习笔记 《跑酷》移植到android手机