假设我们在XML中声明了自定义View,并覆盖了onMeasure()方法:
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// Maximal length of line is width of this View
width = this.getLayoutParams().width;
如果设置了XML属性android:layout_width="100px"
,那么 width 会返回值100.但如果属性为android:layout_width="match_parent"
或android:layout_width="wrap_content"
,则返回-1或-2。那么在这种情况下我们如何才能获得此View的宽度?
答案 0 :(得分:1)
使用
width = MeasureSpec.getSize(widthMeasureSpec);