ScrollView嵌套GridView、ListView
2015-07-24 17:17
501 查看
最近使用ScrollView嵌套GridView发现总是只显示一行数据, 对布局调了好久都无济于事。 后来查阅资料才发现官网上并不推荐这种做法, 因为GridView和ListView本事都是自带滚动条的, 在加上一个滚动条并不符合要求。 最后通过网络大牛解决了这个问题
ListView
在适配ListView的内容后调用这个方法可以解决单行显示的问题, 通过适配子项总数来设置了ListView的高度,但在listView加了图片之后效果却没有实现
后来查询资料再一次的解决了上诉的问题
通过自定义控件中重写onMeasur方法设置listview没有滚动条 , 在GridView也是同样的道理
ListView
在适配ListView的内容后调用这个方法可以解决单行显示的问题, 通过适配子项总数来设置了ListView的高度,但在listView加了图片之后效果却没有实现
public void setListViewHeightBasedOnChildren(ListView listView) { // 获取ListView对应的Adapter ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) { return; } int totalHeight = 0; for (int i = 0, len = listAdapter.getCount(); i < len; i++) { // listAdapter.getCount()返回数据项的数目 View listItem = listAdapter.getView(i, null, listView); // 计算子项View 的宽高 listItem.measure(0, 0); // 统计所有子项的总高度 totalHeight += listItem.getMeasuredHeight(); } ViewGroup.LayoutParams params = listView.getLayoutParams(); params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1)); // listView.getDividerHeight()获取子项间分隔符占用的高度 // params.height最后得到整个ListView完整显示需要的高度 listView.setLayoutParams(params); }
后来查询资料再一次的解决了上诉的问题
通过自定义控件中重写onMeasur方法设置listview没有滚动条 , 在GridView也是同样的道理
public class ListView1 extends ListView { public ListView1(Context context, AttributeSet attrs) { super(context, attrs); // 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); }
相关文章推荐
- BAT安卓工程师面试流程解析+还原最真实最完整的一线公司面试题
- UVA 12545 Bits Equalizer
- Dedecms 火车采集器免登陆发布接口,自动生成上下篇、栏目页、首页
- Python 代码风格 和 PEP8
- Linux 内核中RAID5源码详解之写过程剖析(一)
- centos下更新Python
- Online Judge System For SzNOI 题库 语法百题 c++ d024
- cocos2d-x中有一个JniHelper类详细使用
- Leetcode:Two Sum
- WPF-菜单和Tab控件
- 从百度API中获取天气
- 将jar导入本地maven仓库
- ubuntu14.04+cuda7.0+opencv2.4.9
- 根据用户权限和角色拼接菜单
- VC编译连接选项详解
- 南阳oj 寻找球号(二) 数据结构 题目138
- mysql游标的使用
- 系统备份只需简单3步走
- 大数据征信的应用和启示:ZestFinance的基于大数据的信用评估技术
- c#通常什么地方遇到数据库为空 System.DBNull.Value 作者:admin