scrollview gn gridview混合使用问题

在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView会显示不全。

解决办法,自定义一个GridView控件:

 

01public class MyGridView extends GridView {
02    public MyGridView(Context context, AttributeSet attrs) {
03        super(context, attrs);
04    }
05 
06    public MyGridView(Context context) {
07        super(context);
08    }
09 
10    public MyGridView(Context context, AttributeSet attrs, int defStyle) {
11        super(context, attrs, defStyle);
12    }
13 
14    @Override
15    public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
16 
17        int expandSpec = MeasureSpec.makeMeasureSpec(
18                Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
19        super.onMeasure(widthMeasureSpec, expandSpec);
20    }
21}

 

该自定义控件只是重写了GridView的onMeasure方法,使其不会出现滚动条,ScrollView嵌套ListView也是同样的道理,不再赘述。在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView会显示不全。

解决办法,自定义一个GridView控件:

 

01public class MyGridView extends GridView {
02    public MyGridView(Context context, AttributeSet attrs) {
03        super(context, attrs);
04    }
05 
06    public MyGridView(Context context) {
07        super(context);
08    }
09 
10    public MyGridView(Context context, AttributeSet attrs, int defStyle) {
11        super(context, attrs, defStyle);
12    }
13 
14    @Override
15    public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
16 
17        int expandSpec = MeasureSpec.makeMeasureSpec(
18                Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
19        super.onMeasure(widthMeasureSpec, expandSpec);
20    }
21}

 

该自定义控件只是重写了GridView的onMeasure方法,使其不会出现滚动条,ScrollView嵌套ListView也是同样的道理,不再赘述。

引用:http://mobile.51cto.com/android-391747.htm
 

原文地址:https://www.cnblogs.com/wsfjlagr/p/3328330.html