问题:
在Android开发当中经常会用到了需要ScrollView嵌套GridView或者是ListView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView或ListView会显示不全。
解决方案:
自定义GridView或ListView,去掉其滚动条。一下为GridView的例子。
复写GridView:
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);
}
}
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:
<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" />
分享到:
相关推荐
Android ScrollView嵌套ListView嵌套GridView的上下拉以及加载更多
ScrollView,嵌套ListView,ListView并同时嵌套GridView
当ScrollView中嵌套ListView或者GrideView时,listView和GrideView不能完全显示的时候
1、ScrollView嵌套listView、GridView时滑动冲突,自定义 ListView、GridView; 2、自定义ScrollView,解决 当有横向的滑动操作时,与ScrollView上下滑动冲突; 2、横向ListView
解决scrollView和gridView和ListView嵌套的冲突,动态测量ListView和GridView的高度
Android 中ScrollView嵌套GridView,ListView的实例 在Android开发中,经常有一些UI需要进行固定style的动态布局,然而由于现在的UI都喜欢把一个界面拉的很长,所以我们很多情况下需要使用ScrollView来嵌套列表控件...
ScrollView嵌套listview(gridview)
Android ScrollView 下嵌套 ListView 或 GridView出现问题解决办法 ScrollView 下嵌套 ListView 或 GridView 会发列表现数据只能显示一行。因为他们都是滚动结构,两个滚动条放到一起就会引起冲突。 解决此问题可以...
您可能感兴趣的文章:Android ScrollView 下嵌套 ListView 或 GridView出现问题解决办法Android中ScrollView嵌套GridView的解决办法Android 中ScrollView嵌套GridView,ListView的实例Android 中
scrollView嵌套ListView, ListView里又嵌套了GridView ,实现了下拉刷新和加载更多,代码简单,不依赖第三方包。
最近为公司做的一个Demo里面用到了ScrollView嵌套了GridView和ListView,然而在嵌套的时候我发现GridView和ListView都是不能完全显示,显示的基本上都是单行的数据,最后查找资料和翻阅文档看到原因是ListView和...
gridview嵌套gridview实现内部gridview不显示完,可滑动,外部也可滑动,解决滑动冲突问题。适用于多种嵌套,listview,scrollview等。
由于ListView,GridView本身都继承于ScrollView,一旦在ScrollView中嵌套ScrollView,在ScrollView中嵌套使用ListView或者GridView,ListView只会显示一行多一点。两者进行嵌套,即会发生冲突
该资源实现了HorizontalScrollView嵌套GridView实现单行滚动效果。选中GridView的item,该item下面的ListView跟着变化,并处理了他们之间的焦点转换问题
GridViewListViewForScrollView.zip 内有Scrollview嵌套GridView,还有Scrollview嵌套ListVIew。可以学习参考一下。
解决ScrollView 嵌套listview,gridview滑动冲突,只显示一行的问题