如何实现自填式ViewGroup

时间:2016-09-11 18:27:34

标签: android android-viewgroup

我正在尝试实现ViewGroup,该ViewGroup估计它能够包含的子视图的数量,并考虑到父级提供的大小限制,使用先前估计的子视图数填充自己。我重写了onAttachToWindow回调以充气并添加第一个子视图。我最终得到了这个:

public class CustomViewGroup extends ViewGroup {
    private LayoutInflater layoutInflater;

    public FilledLayout(Context context) {
        super(context);
        initView(context);
    }

    public FilledLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
        initView(context);
    }

    public FilledLayout(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        initView(context);
    }

    private void initView(Context context) {
        layoutInflater = LayoutInflater.from(context);
    }

    @Override
    protected void onAttachedToWindow() {
        layoutInflater.inflate(R.layout.view_layout, this, true);

        super.onAttachedToWindow();
    }

我不知道如何正确覆盖onMeasure回调来衡量和计算子视图布局应该膨胀的次数。在onMeasure回调中扩展布局是一个好主意吗?

0 个答案:

没有答案