自定义视图宽度

时间:2014-04-14 11:45:34

标签: java android view

我已经为自定义视图创建了一个类,并且像我接下来展示的那样覆盖了onMeasure方法。 但是当我为宽度和高度调用getter时,它们总是返回0.为什么会发生这种情况?

@Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        int parentWidth = MeasureSpec.getSize(widthMeasureSpec);
        int parentHeight = MeasureSpec.getSize(heightMeasureSpec);
        this.setMeasuredDimension(parentWidth, parentHeight);
   }

1 个答案:

答案 0 :(得分:0)

getWidth()和getHeight()值仅在第一次完整布局传递(OnMeasure - > OnLayout)后才可用,所以如果你真的需要访问这些值,请使用getMeasuredWidth()和getMeasuredHeight()