测量ViewGroup的大小

时间:2017-06-24 21:09:27

标签: android android-layout android-custom-view

我有一个包含一个子节点的ViewGroup(ImageButton)。 我希望viewGroup具有其子级的确切大小。

@Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

        int desiredWidth = getChildAt(0).getMeasuredWidth();
        int desiredHeight = getChildAt(0).getMeasuredHeight();

        int width = resolveSize(desiredWidth,widthMeasureSpec);
        int height = resolveSize(desiredHeight,heightMeasureSpec);

        setMeasuredDimension(width,height);
    }

我通过getMeasuredWidth()和getMeasuredWidth()获得子项大小(ImageButton),但它们返回0值。

1 个答案:

答案 0 :(得分:0)

您没有测量子视图,因此其宽度和高度未设置(尚未)。

在你的方法中调用super.onMeasure(...)让你的超级类测量孩子,或者通过调用child.measure(widthMeasureSpec, heightMeasureSpec)自己动手。