ScrollView中嵌入GridView滑动冲突解决方案
程序员文章站
2022-03-01 12:36:55
...
在平时的工作中、很多时候会遇到GridView嵌套在ScrollView中、嵌套使用时、会出现GridView有自己的滚动条、而ScrollView又有自己的滚动条、解决此问题的核心是、重写GridView的OnMesure方法、关于ListView的问题、以前我就分享过方法、有需要的朋友可以移步ScrollView中嵌套ListView滚动冲突
一、重写OnMesure方法
GridView的构造方法要写全、不能遗漏、不然会出问题的
public class MyGridView extends GridView { public MyGridView(Context context) { super(context); } public MyGridView(Context context, AttributeSet attrs) { super(context, attrs); } public MyGridView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); // TODO 自动生成的构造函数存根 } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // TODO 自动生成的方法存根 int expandSpec = MeasureSpec.makeMeasureSpec( Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); } }
二、xml布局文件加入
这里假设MyGridView所在的包为com.dwtedx.scrollviewandgridview
<com.dwtedx.scrollviewandgridview.MyGridView android:id="@ id/mygridview" android:layout_width="match_parent" android:layout_height="wrap_content" android:horizontalSpacing="1dp" android:verticalSpacing="1dp" android:background="#DCDCDC" android:numColumns="2" > </com.dwtedx.scrollviewandgridview.MyGridView>