根据GridView itme的个数来确定当前的GridView 的高度
2016-02-19 11:34
281 查看
public void setListViewHeightBasedOnChildren(GridView listView) { // 获取listview的adapter ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) { return; } // 固定列宽,有多少列 int col = 4;// listView.getNumColumns(); int totalHeight = 0; // i每次加4,相当于listAdapter.getCount()小于等于4时 循环一次,计算一次item的高度, // listAdapter.getCount()小于等于8时计算两次高度相加 for (int i = 0; i < listAdapter.getCount(); i += col) { // 获取listview的每一个item View listItem = listAdapter.getView(i, null, listView); listItem.measure(0, 0); // 获取item的高度和 totalHeight += listItem.getMeasuredHeight(); } // 获取listview的布局参数 ViewGroup.LayoutParams params = listView.getLayoutParams(); // 设置高度 params.height = totalHeight; // 设置参数 listView.setLayoutParams(params); }
调用该方法之后,不要忘了adapter.notifyDataSetChanged()
相关文章推荐
- linux64位系统中g++4.4.7下使用wcsncpy函数有造成段错误的BUG(其它g++版本号未知)
- SSO之CAS单点登录详细搭建教程
- [转] sql_id VS hash_value
- 使用官方isal工具提取DSDT
- phpunit安装
- 解决VS中function unsafe的问题
- static静态代码块与非静态代码块 + 构造函数
- 在Windows下安装pinpoint并关联自己的服务(tomcat)
- [经典]Linux内核中ioremap映射的透彻理解
- JavaScript深度复制(deep clone)的实现方法
- 理想互联网金融p2p平台特性
- 远程桌面,RDP文件密码加密、解密算法(C#)
- mysql之加锁处理分析
- 目录
- 二元高度
- 正则表达式总结
- angular在IE7下兼容$sce:iequirks
- 在Mac OS 10.11上安装python, pyqt
- 工作阶段 --工作备忘2016/02/18
- Android编程之控件可拖动的实现方法