8月 172020
本文同样适用于高度相关的对应函数
一、几个函数
1. getWidth()
View的实际宽度
2. getMeasuredWidth()
是用setMeasureDimension设置的宽度,这个并不能作为最终的View的宽度来使用,只是在onMeasure的时候用户计算的宽度,只能在这个函数里使用?
3. getMeasuredWidthAndState()
和getMeasuredWidth()类似,但是返回的值包括measuredWidth和MEASURED_SIZE_MASK或者MEASURED_STATE_TOO_SMALL的标志位。
4. getMinimumWidth()
应该是在布局设计时,设置的minWidth属性对应的值或者使用函数setMinimumWidth动态设置的值
5. getSuggestedMinimumWidth()
如果View设置了背景,则取mMinWidth和背景的最小宽度中比较大的一个值。
6. 去除padding后的实际宽度
如果需要考虑padding参数,则去除padding后的实际内容宽度为:
getWidth() – getPaddingLeft – getPaddingRight
二、其他注意事项
1. 在onMeasure函数中不能使用getWidth()和getHeight()函数,此时这两个值都是0
2. MeasureSpec,三种度量规格:
- UNSPECIFIED – 未指定
- EXACTLY – 固定尺寸
- AT_MOST – 最大值
Sorry, the comment form is closed at this time.