ListView嵌套GridView显示不完整的解决方案
转载注明出处:http://blog.csdn.net/allen315410/article/details/40152987
近期在做项目中,有个模块须要在ListView中嵌套一个GridView制作“九宫格”的效果。结果GridView上的子元素只显示了一行。没有显示完整的说。例如以下图:
事实上这个ListView上一共须要显示的是6张图片。也就是说还有3张图片须要在下一行显示的,结果GridView没有显示全然,这个问题非常奇怪。可是已经找到解决的方案,就是重写一个GridView。做一个自己定义的GridView,然后重写GridView的onMeasure(int widthMeasureSpec, int heightMeasureSpec)的方法,将GridView又一次測量,而且指定GridView的新的高度。代码例如以下:
import android.content.Context;
import android.util.AttributeSet;
import android.widget.GridView; /**
* 自己定义的“九宫格”——用在显示帖子详情的图片集合
* 解决的问题:GridView显示不全。仅仅显示了一行的图片,比較奇怪。尝试重写GridView来解决
*
* @author lichao
* @since 2014-10-16 16:41
*
*/
public class SodukuGridView extends GridView { public SodukuGridView(Context context) {
super(context);
// TODO Auto-generated constructor stub
} public SodukuGridView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
} public SodukuGridView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
} @Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// TODO Auto-generated method stub
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
} }
下面是布局文件:
<com.fc62.raisebook.view.SodukuGridView
android:id="@+id/gridview"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:layout_below="@id/tv_question_content"
android:layout_marginBottom="5dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:columnWidth="70dp"
android:gravity="center"
android:horizontalSpacing="2.5dp"
android:numColumns="3"
android:stretchMode="columnWidth"
android:verticalSpacing="2.5dp" >
</com.fc62.raisebook.view.SodukuGridView>
然后就拿这个自己定义的GridView当做普通的GridView一样使用就可以。
问题攻克了:
好了,这就是解决方式,不知道有没有更好的,期待一起探讨学习!
版权声明:本文博客原创文章。博客,未经同意,不得转载。
ListView嵌套GridView显示不完整的解决方案的更多相关文章
- android ListView嵌套GridView显示不全问题
只需重写GridView即可:public class MyGridView extends GridView{ public MyGridView(android.content.Context c ...
- 解决ScrollView下嵌套ListView、GridView显示不全的问题
/** * 自定义gridview,解决ListView中嵌套gridview显示不正常的问题(1行半) * @author wangyx * @version 1.0.0 2012-9-14 */ ...
- ListView嵌套GridView,显示不全解决办法
ListView嵌套GridView时,遇到了GridView只显示一行,其余都显示不出来的问题,最终解决办法如下: 需要自定义GridView,重新绘制高度即可: public class MyGr ...
- android listView嵌套gridview的使用心得
在开发的过程中可能需要用到listview嵌套gridview的场景,但是在Android中, 不能在一个拥有Scrollbar的组件中嵌入另一个拥有Scrollbar的组件,因为这不科学,会混淆滑动 ...
- ListView嵌套GridView使用详解及注意事项
ListView嵌套GridView即ListView的每个Item中都包含一个GridView:需要注意的是由于ListView和GridView都是可滑动的控件. 所以需要自定义GridView, ...
- Flutter中用ListView嵌套GridView报错异常
flutter中的ListView组件和GridView组件都是常用的布局组件,有时候ListView中需要嵌套GridView来使用,例如下图: 这种情况就需要在ListView里面再嵌套一个Gri ...
- android 项目学习随笔十七(ListView、GridView显示组图)
ListView.GridView显示组图,处理机制相同 <?xml version="1.0" encoding="utf-8"?> <Li ...
- ScrollView嵌套ListView嵌套GridView的上下拉以及加载更多
ScrollView 效果 ScrollView 说明 一个ScrollView 嵌套ListView 嵌套GridView的上拉加载更多,下拉刷新的demo. 主要是重写了GridView和Lsit ...
- ListView嵌套GridView
首先,我们通过两个实例来了解下本篇文章所讲的重点,看下图: 微博: 陌陌: 大家应该对这两款软件并不陌生,接下来,我将列举下本文将要实现的几个点: 1.ListView嵌套GridView,互不冲突, ...
随机推荐
- Android获得Manifest在<meta-data>元件的值
前段时间攻略完成游戏开发项目.其中用于包装散装. 目前市场上的网络不提交.但是,通过设置Manifest中的Meta_data>去获得相关參数,游戏ID号改变.游戏ID改变,然后游戏内容就改变. ...
- freemarker自己定义标签(二)
freemarker自己定义标签 1.自己定义标签 通过自己定义标签,写一个反复指定字符串 2.实现源代码 <html> <head> <meta http-equiv= ...
- Windows - Windows的文件名的全路径(Fully Qualified File Name)的最大长度为260字节
例如,你可以做以下实验来验证这个限制值: 在随意文件夹下新建一个文件夹. 在该新建文件夹下创建一个随意文件.使其名字长度不能再输入为止. 把该文件的全路径名copy到Microsoft Word中进行 ...
- [置顶] ANDROID 返回,菜单和HOME键的监听
------网上找了很多资料,项目中使用,最后将经验总结如下: 1,返回和菜单键是可以直接重写onKeyDown(int keyCode, KeyEvent event) 方法监听: @Overrid ...
- hdu2569(递推dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2569 分析: f(n),n个珠子的合格数:a(n),n个珠子,最后2个相同的合格数:b(n),n个珠子 ...
- OPEN-E安装中注意的问题
安装OPEN-E的时候,OPEN-E需要单独安装到存储硬盘外的硬盘上,否则是没有办法使用安装了OPEN-E的硬盘上的空间的. OPEN-E免费许可证的容量问题 安装OPEN-E后申请的试用key只能试 ...
- SVN模型仓库中的资源从一个地方移动到另一个地方的办法(很久才解决)
弄了很久,想使用domove这个操作,但是都失败了.最后给svnkit的邮箱写了封邮件,他们告诉我这样做就成功了.实际上是使用docopy这个函数实现了move操作.package com.repos ...
- hdu1542(线段树——矩形面积并)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1542 分析:离散化+扫描线+线段树 #pragma comment(linker,"/STA ...
- Knockout获取数组元素索引的2种方法,在MVC中实现
原文:Knockout获取数组元素索引的2种方法,在MVC中实现 在遍历数组.集合的时候,通常要获取元素的索引,本篇体验使用Knockout获取索引的2种方法. 假设有这样的一个模型: namespa ...
- java Quartz定时器任务与Spring task定时的几种实现,
java Quartz定时器任务与Spring task定时的几种实现 基于java 的定时任务实现, Quartz 时间详细配置 请查阅 http://www.cnblogs.com/si ...