ScrollView嵌套GridView、ListView的解决办法

简介:

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

解决方案:
自定义GridView或ListView,去掉其滚动条。一下为GridView的例子。
复写GridView:

import android.content.Context; 
 import android.util.AttributeSet; 
 import android.widget.GridView; 
  
 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); 
     } 
  
 } 
 package com.yang.widget;
 
import android.content.Context;
 import android.util.AttributeSet;
 import android.widget.GridView;
 
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);
  }
 
}
 

在布局文件当中使用自定义的GridView:
[html] <com.yang.widget.MyGridView
android:id="@id/bolg_category_gridview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:horizontalSpacing="5dp"
android:numColumns="4"
android:stretchMode="columnWidth"
android:verticalSpacing="6dp" />
<com.yang.widget.MyGridView
android:id="@id/bolg_category_gridview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:horizontalSpacing="5dp"
android:numColumns="4"
android:stretchMode="columnWidth"
android:verticalSpacing="6dp" />
相关文章
|
11月前
|
Android开发
ScrollView 与 ListView 以及 GridView 滑动冲突完美解决
ScrollView 与 ListView 以及 GridView 滑动冲突完美解决
|
API Android开发
ListView或GridView上添加能一起滚动的Button效果的解决思路
ListView或GridView上添加能一起滚动的Button效果的解决思路
SwipeRefreshLayout 嵌套ScrollView 滑动冲突
SwipeRefreshLayout 嵌套ScrollView 滑动冲突
206 0
从原理上说说ScrollView嵌套ListView的问题
版权声明:本文为sydMobile原创文章,转载请务必注明出处! https://blog.csdn.net/sydMobile/article/details/79543986 文章最早发布于我的微信公众号 Android_De_Home 中,欢迎大家扫描下面二维码关注微信公众获取更多知识内容。
1029 0
|
Android开发
Android ScrollView嵌套GridView导致GridView只显示一行item
Android ScrollView嵌套GridView导致GridView只显示一行item Android ScrollView在嵌套GridView时候,会导致一个问题发生:GridView只显示一行。
2254 0
ScrollView嵌套EditText联带滑动的解决办法
本篇文章的相关内容需结合上文:从ScrollView嵌套EditText的滑动事件冲突分析触摸事件的分发机制以及TextView的简要实现和冲突的解决办法 在说完了如何解决ScrollView嵌套EditText的滑动事件冲突之后,我们接下来说一下如何实现它们两者之间的联带滑动。
1047 0
|
测试技术 Android开发
android 之 ListView 里面嵌套 GridView 遇到的问题及其解决方法。
我们直接入主题。所有问题例子请参照下图     1,怎样使图片具有点击事件? 答:      解决方法:      在你的BaseAdapter里面不要设置下面这三个东西,然后再设置GridView的onItemClick。
1202 0