如何在layout_width为wrap_content时获取自定义View的宽度?

时间:2014-10-03 16:55:23

标签: android layout view width onmeasure

假设我们在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的宽度?

1 个答案:

答案 0 :(得分:1)

使用

width = MeasureSpec.getSize(widthMeasureSpec);