我正在尝试实现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
回调中扩展布局是一个好主意吗?