Android动态设定GridView的高度,固定column,实现高度自适应
2024-10-15 01:40:32
动态设定GridView的高度,固定column,根据gridview中的item个数设定高度:
调用以下方法:
- public static 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;
- // 设置margin
- ((MarginLayoutParams) params).setMargins(10, 10, 10, 10);
- // 设置参数
- listView.setLayoutParams(params);
- }
调用此方法后,需要在调用notifyDataSetChanged()方法,实现界面刷新
最新文章
- php中引用&;的真正理解-变量引用、函数引用、对象引用
- 单调队列 &;&; 斜率优化dp 专题
- Java并发编程学习笔记(二)——对象的共享
- Oracle定时计划快速使用
- J-LINK V8固件烧录指导
- C# 之 FileSystemWatcher事件多次触发的解决方法
- NPIV介绍
- 100% width CSS 在 iPad / iPhone Safari 背景被截断 / 显示不全
- c++设计成员变量可动态调整的动态类结构
- netstat 的10个基本用法(转)
- 为什么使用Nosql:Nosql和SQL的区别
- java错误分析之junit测试错误(实验一)
- learning ddr DLL-off mode
- kettle学习笔记(八)——kettle查询步骤与连接步骤
- C++中冒号的作用
- LeetCode(10):正则表达式匹配
- 使用 IntraWeb (2) - Hello IntraWeb
- MySQL半同步复制(5.5之后引入)
- InnoSQL HA Suite的实现原理与配置说明 InnoSQL的VSR功能Virtual Sync Replication MySQL 5.5版本引入了半同步复制(semi-sync replicaiton)的功能 MySQL 5.6支持了crash safe功能
- ubuntu安装pycharm并设置快捷方式
热门文章
- 基于Visual C++2013拆解世界五百强面试题--题14-循环删除
- Java开发岗位面试题
- 高可用mysql集群搭建
- CodeForces 150B- Quantity of Strings 推算..
- jQuery对DOM的操作
- [译]Stairway to Integration Services Level 18 – 部署和执行
- Servlet转发和重定向的区别
- Web开发找错基本思路
- hdu 4372 第一类stirling数的应用/。。。好题
- Python转码问题的解决方法:ignore,replace,xmlcharrefreplace