在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView会显示不全。
解决办法,自定义一个GridView控件:
01 | public class MyGridView extends GridView { |
02 | public MyGridView(Context context, AttributeSet attrs) { |
03 | super (context, attrs); |
06 | public MyGridView(Context context) { |
10 | public MyGridView(Context context, AttributeSet attrs, int defStyle) { |
11 | super (context, attrs, defStyle); |
15 | public void onMeasure( int widthMeasureSpec, int heightMeasureSpec) { |
17 | int expandSpec = MeasureSpec.makeMeasureSpec( |
18 | Integer.MAX_VALUE >> 2 , MeasureSpec.AT_MOST); |
19 | super .onMeasure(widthMeasureSpec, expandSpec); |
该自定义控件只是重写了GridView的onMeasure方法,使其不会出现滚动条,ScrollView嵌套ListView也是同样的道理,不再赘述。在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView会显示不全。
解决办法,自定义一个GridView控件:
01 | public class MyGridView extends GridView { |
02 | public MyGridView(Context context, AttributeSet attrs) { |
03 | super (context, attrs); |
06 | public MyGridView(Context context) { |
10 | public MyGridView(Context context, AttributeSet attrs, int defStyle) { |
11 | super (context, attrs, defStyle); |
15 | public void onMeasure( int widthMeasureSpec, int heightMeasureSpec) { |
17 | int expandSpec = MeasureSpec.makeMeasureSpec( |
18 | Integer.MAX_VALUE >> 2 , MeasureSpec.AT_MOST); |
19 | super .onMeasure(widthMeasureSpec, expandSpec); |
该自定义控件只是重写了GridView的onMeasure方法,使其不会出现滚动条,ScrollView嵌套ListView也是同样的道理,不再赘述。
引用:http://mobile.51cto.com/android-391747.htm