在采用ScrollView作最外层布局时候,会遇到一个奇怪的问题,里面一旦包含ListView或者GridView这种带滚动条的控件时候,不管你是把ListView的layout_height设置成match_parent,ListView的数据只显示一行,如何让它显示整个数据列表呢,请参考如下代码:
public class CustomListView extends ListView{
public CustomListView(Context context, AttributeSet attrs,
int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
public CustomListView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public CustomListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}