在计算大小的方法中为何要判断vgroup为空?还有ViewGroup.getChildMeasureSpec(0, 0, vGroup.width);的理解
1、因为viewGroup的参数值要在measure(width,height)方法之后才能确定,所以才会有:ViewGroup.LayoutParams vGroup = headerView2.getLayoutParams();
if (vGroup == null) {
vGroup = new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
System.out.println("vgroup==null");
}
是不是可以不用判断?因为初始化的时候vGroup本身就是空的。
2、int width = ViewGroup.getChildMeasureSpec(0, 0, vGroup.width);这里得到的width是不是就是自身的宽啊,因为第三个参数本因该是子view想要的大小,第一个参数是父view想要给定的大小,而这里第三个参数是vGroup,所以得到的width是不是就是header.xml在listview中的宽度?而第一个参数应该是我们这自定义的listview的宽度对子view 的要求,我的理解正确吗,求解答啊