• Android View的测量


    一、简介

      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 }
  • 相关阅读:
    状态压缩DP------学习小记
    hdu 4681 string
    poj 3254 Corn Fields
    poj 3680 Intervals
    poj 1149 pigs ---- 最大流
    最大流算法----(SAP 和 EK)
    poj 2151 Check the difficulty of problems
    FTP的PORT(主动模式)和PASV(被动模式)
    json.stringify(),json.stringify()与json.parse()的区别
    css 选择器
  • 原文地址:https://www.cnblogs.com/naray/p/5622784.html
Copyright © 2020-2023  润新知