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

解决办法,自定义一个GridView控件 :

  1. public class MyGridView extends GridView {   
  2.   
  3.     public MyGridView(Context context, AttributeSet attrs) {   
  4.         super(context, attrs);   
  5.     }   
  6.   
  7.     public MyGridView(Context context) {   
  8.         super(context);   
  9.     }   
  10.   
  11.     public MyGridView(Context context, AttributeSet attrs, int defStyle) {   
  12.         super(context, attrs, defStyle);   
  13.     }   
  14.   
  15.     @Override   
  16.     public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {   
  17.   
  18.         int expandSpec = MeasureSpec.makeMeasureSpec(   
  19.                 Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);   
  20.         super.onMeasure(widthMeasureSpec, expandSpec);   
  21.     }   
  22. }   

该自定义控件只是重写了GridView的onMeasure方法,使其不会出现滚动条,ScrollView嵌套ListView也是同样的道理,不再赘述。 

XML布局代码 

  1. <ScrollView Android:layout_height="wrap_content"   
  2.         Android:layout_width="fill_parent" android:id="@+id/scroll_content">   
  3.         <com.yourclass.MyGridView xmlns:Android="http://schemas.android.com/apk/res/android"   
  4.             Android:id="@+id/grid_view" android:layout_width="fill_parent"   
  5.             Android:layout_height="wrap_content" android:numColumns="auto_fit"   
  6.             Android:horizontalSpacing="1dip" android:verticalSpacing="1dip"   
  7.             Android:columnWidth="150dip" android:stretchMode="columnWidth"   
  8.             Android:gravity="center">   
  9.                
  10.         com.yourclass.MyGridView>   
  11.     ScrollView>   

更多相关文章

  1. android 控件layout的显示和消失 visibility
  2. Android(安卓)Fragment实践(二)
  3. android开发中遇到的问题汇总【三】
  4. android实现下拉框和输入框结合
  5. android view滑动的几种方法
  6. android学习01
  7. 利用Hierarchy Viewer优化布局
  8. Android(安卓)Material Design控件学习(二)——NavigationView的学
  9. android获取自定义控件位置坐标,屏幕尺寸,标题栏,状态栏高度

随机推荐

  1. Android硬编
  2. Android Studio Mac 快捷键
  3. “Android SDK Content loader has encou
  4. iphone风格设置页面PreferenceActivity
  5. Android(安卓)内存泄漏检测
  6. Android中DialogFragment优于Dialog
  7. dlopen failed: library "/system/lib/li
  8. Android ble 蓝牙4.0 总结一
  9. Android Platform 3.0 SDK和Eclipse ADT
  10. Android NDK编译选项设置