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" />
上一篇:Python根据相同列合并csv文件(不去除不相同数据行)


下一篇:[Office 2010 易宝典]什么是OpenDocument格式?如何将Word文档保存为该格式?