Android中一般在自定义View中会重写onMeasure方法,需要我们重新设置控件在屏幕中的大小,那么必然会用到MesasureSpec这个类,下面我们就详细讲述一下MesasureSpec的使用。
在onMeasure方法中,widthMeasureSpec跟HeightMeasureSpec不是简单的父布局传过来的宽高尺寸,而是将模式和尺寸组合在一起的数值。我们需要通过int mode = MeasureSpec.getMode(widthMeasureSpec)得到模式,用int size =?MeasureSpec.getSize(widthMeasureSpec)得到尺寸。
首先我们来介绍一下MeasureSpec的Mode的三种模式: