最近开发中用到了ScrollView嵌套GridView的情况,嵌套时发现GridView会显示不全,
起初为
GridView
添加属性 android:fillViewport="true",我机器上的结果是GridView会显示完全,但是滑动时还是存在问题。
最终使用的解决方案是:重写GridView的onMeasure方法,使其不会出现滚动条,ScrollView嵌套ListView也是同样的道理
public class MyGridView extends GridView {
public MyGridView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyGridView(Context context) {
super(context);
}
public MyGridView(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);
}
}