Android自定义控件之onMeasure
2017-04-01 10:09
260 查看
重写onMeasure方法的时候注意遵循系统的要求:
1.确保大于min值;protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { setMeasuredDimension( getDefaultSize(getSuggestedMinimumWidth(), widthMeasureSpec), getDefaultSize(getSuggestedMinimumHeight(), heightMeasureSpec)); }
2.在onMeasure()中调用setMeasuredDimension(int, int) 来保存计算的宽高的结果,如果不加会报一下错误
java.lang.IllegalStateException: onMeasure() did not set the measured dimension by calling setMeasuredDimension()
getWidth/Height和getMeasuredWidth/Height的区别:
getWidth、getLeft是相对于父View的位置大小,而getMeasuredWidth、getMeasuredHeight是测量后该View的实际大小。简单的解释就是:如果View的内容在父View内全部显示时,那么这时他们的值是相等的。当View的内容在父View内显示不下,并超出父View视图时,此时他们的值是不相等的。即
getMeasuredHeight()是View的实际大小,而getHeight是此时View在父View中显示的大小。
相关文章推荐
- android自定义控件(七) onMeasure() 测量尺寸
- Android自定义控件系列八:详解onMeasure()(二)--利用onMeasure测量来实现图片拉伸永不变形,解决屏幕适配问题
- Android自定义控件系列七:详解onMeasure()方法中如何测量一个控件尺寸(一)
- Android自定义控件系列:详解onMeasure()方法中如何测量一个控件尺寸(一)
- android自定义控件(七) onMeasure() 测量尺寸
- 对Android自定义控件中的onMeasure方法的理解
- Android自定义控件系列八:详解onMeasure()(二)--利用onMeasure测量来实现图片拉伸永不变形,解决屏幕适配问题
- Android自定义控件系列八:详解onMeasure()(二)--利用onMeasure测量来实现图片拉伸永不变形,解决屏幕适配问题
- Android 自定义控件高度设置onMeasure方法
- Android自定义控件系列七:详解onMeasure()方法中如何测量一个控件尺寸(一)
- android自定义控件(七) onMeasure() 测量尺寸
- Android自定义控件系列八:详解onMeasure()(二)--利用onMeasure测量来实现图片拉伸永不变形,解决屏幕适配问题
- Android UI 之一步步教你自定义控件(自定义属性、合理设计onMeasure、合理设计onDraw等)
- android自定义控件(一)MeasureSpec 与 ListView.onMeasure
- Android自定义控件系列八:详解onMeasure()(二)--利用onMeasure测量来实现图片拉伸永不变形,解决屏幕适配问题
- Android自定义控件系列七:详解onMeasure()方法中如何测量一个控件尺寸(一)
- Android自定义控件系列八:详解onMeasure()(二)--利用onMeasure测量来实现图片拉伸永不变形,解决屏幕适配问题
- Android UI 之一步步教你自定义控件(自定义属性、合理设计onMeasure、合理设计onDraw等)
- Android 自定义控件之测量(onMeasure)初步
- Android开发之自定义控件(一)---onMeasure详解