码迷,mamicode.com
首页 > 移动开发 > 详细

Android View的测量

时间:2017-05-07 15:43:55      阅读:260      评论:0      收藏:0      [点我收藏+]

标签:over   空间   控制   测量   支持   protect   实例   绘制   specified   

一、简介

  Android系统在绘制View前,必须对View进行测量,即告诉系统该画一个多大的View。这个过程在onMeasure()方法中进行。Android系统提供了MeasureSpec类,通过帮助我们测量View。

  测量模式可以分为三种:

  • EXACTLY:即为精确值模式,系统默认使用的是EXACTLY模式。
  • AT_MOST:即最大值模式,当控件的layout_width属性或layout_height属性指定为wrap_content时,控件大小一般随着控件的子空间或内容的变化而变化,此的控件的尺寸只要不超过父控件允许的最大尺寸即可。
  • UNSPECIFIED:它不指定其大小测量模式,View想多大就多大,通常情况下在绘制自定义View时才会使用。

  View类默认的onMeasure()方法只支持EXACTLY模式,所以在自定义控件的时候不重写onMeasure()方法,就只能使用EXACTLY模式。

  通过MeasureSpec类,就可以获取到View的测量模式和View想要绘制的大小。有了这些信息,就可以控制View最后显示的大小。

二、实例

1 @Override
2 protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
3 {
4     super.onMeasure(widthMeasureSpec, heightMeasureSpec);
5 }

 

Android View的测量

标签:over   空间   控制   测量   支持   protect   实例   绘制   specified   

原文地址:http://www.cnblogs.com/naray/p/5622784.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!