• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > GridView嵌套在ScrollView里只有一行的问题,gridviewscrollview

GridView嵌套在ScrollView里只有一行的问题,gridviewscrollview

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了gridview和scrollview,recycleview gridview,gridview detailview,viewpage gridview,gridview detailsview等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

GridView嵌套在ScrollView里只有一行的问题,gridviewscrollview


遇到这个问题

网上找到的解决办法:

方法一:就是上面说的通过计算出来ListView或者GridView中的子列高度和 进行显示:
public void setListViewHeightBasedOnChildren(ListView listView) {
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
return;
}

int totalHeight = 0;
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(0, 0);
totalHeight += listItem.getMeasuredHeight();
}

ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
((MarginLayoutParams)params).setMargins(15, 15, 15, 15);
listView.setLayoutParams(params);

}


方法二:重写GridView和ListView的onMeasure方法,直接给它一个足够大的高度:
重写ListView:
public class MyListView extends ListView {

public MyListView(Context context) {
// TODO Auto-generated method stub
super(context);
}

public MyListView(Context context, AttributeSet attrs) {
// TODO Auto-generated method stub
super(context, attrs);
}

public MyListView(Context context, AttributeSet attrs, int defStyle) {
// TODO Auto-generated method stub
super(context, attrs, defStyle);
}

@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);
}
}

重写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);
}
}
xml中的布局:
<com.xxx.MyGridView
android:id="@+id/mygridview"
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" />

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • GridView嵌套在ScrollView里只有一行的问题,gridviewscrollview
  • 机顶盒上gridview+ScrollView的使用。,gridviewscrollview

相关文章

  • 2017-05-26Android中dip、dp、sp、pt和px的区别,androiddip
  • 2017-05-228.3.9 Paint API之—— ColorFilter(颜色过滤器)(1/3)
  • 2017-05-26Android表单UI及相应控件的事件处理,android表单ui控件
  • 2017-05-26Linux常用命令-50:crontab命令
  • 2017-05-26Android Studio系列-Activity单元测试
  • 2017-05-26cocos的Director、Scence、Layer(一)---摘自于官方文档,cocosscence
  • 2017-05-26Android 缓存类LruCache源码分析
  • 2017-05-26Android开发学习之路--异步消息Handler,Message,Looper和AsyncTask之初体验
  • 2017-05-228.3.1 三个绘图工具类详解
  • 2017-05-26Android中&quot;get&quot;,&quot;post&quot;请求的其中三种常用数据提交方式,android常用数据

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • android TextView实现跑马灯效果
    • View的事件分发机制,View事件分发机制
    • redis一例连接池连接不上的故障及解决
    • android button的操作
    • 统计nginx日志中各服务(目录)http总请求数、成功数、失败数的shell
    • Android UI相关开源项目库汇总,android开源项目
    • 零停重启程序工具Huptime研究
    • Android对话框,android弹出对话框
    • Linux常用命令-50:crontab命令
    • AndroidUSB转串口通信开发基本流程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有