问题描述
当GridView嵌套在ScrollView中时,默认情况下GridView只会显示一行,如下图所示:
问题解决
新建一个类继承Gridview 并重写onMeasure方法,禁用GridView 滚动条即可。
public class NoScrollGridView extends GridView {
public NoScrollGridView(Context context) {
super(context);
}
public NoScrollGridView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public NoScrollGridView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
//不出现滚动条
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}
然后用这个类替换原来布局xml文件中的GridView即可。效果如下: