古人已用三冬足,年少今开万卷余。这篇文章主要讲述Android动态设定GridView的高度,固定column,实现高度自适应相关的知识,希望能为你提供帮助。
动态设定GridView的高度,固定column,根据gridview中的item个数设定高度:
调用以下方法:
[java]
view
plaincopyprint?
- 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);
- }
推荐阅读
- Android-fragment-ListView展示-v4支持包
- 如何在Google Cloud Storage上托管静态网站()
- 如何在Cloud Load Balancer上实现Google托管证书()
- 地区之间的Google Cloud Latency多少钱()
- 如何自动备份Google Cloud VM()
- 什么是Cloudflare应用程序以及如何在你的网站上添加()
- 如何实现AWS EFS在EC2之间共享文件系统()
- 15项云计算在线课程可助你一臂之力
- 如何为Google Cloud Storage托管站点设置SSL()