android scrollview 嵌套listview有两种办法,其中一种是重写绘制方法,比如:
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
但是这个方法有时候会在listview底部出现大量空白,这个是问题原因是由于加载过程中item的高度发生了变化,比如一个影响item高度的控件或者布局的高度发生了变化,ImageView 最好设置固定高度以免加载图片过程中图片太大影响高度,或者某个控件被控制显示隐藏等都有可能,最好所有控件高度在加载时固定好不在变化,不然就可能出现这种问题。
我的问题是:item里面有个嵌套的linearLayout 里面放置不同数量的布局,但是有的里面没有,当没有的时候我将它隐藏掉setVisibility(View.GONE);其实它的高度已经被测量,所以计算到listview的高度里面了,就会出现这种问题。