欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  技术分享

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>