ListView显示全部Item高度
来源:互联网 发布:备案域名 购买 编辑:程序博客网 时间:2024/05/17 07:16
首先,ListView不能直接用,要自定义一个,然后重写onMeasure()方法:
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
第二步:写个计算listView每个Item的方法:
public void setListViewHeightBasedOnChildren(ListView listView) {
// 获取ListView对应的Adapter
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
return;
}
int totalHeight = 0;
for (int i = 0; i < listAdapter.getCount(); i++) { // listAdapter.getCount()返回数据项的数目
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(0, 0); // 计算子项View 的宽高
totalHeight += listItem.getMeasuredHeight(); // 统计所有子项的总高度
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight
+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));
// listView.getDividerHeight()获取子项间分隔符占用的高度
// params.height最后得到整个ListView完整显示需要的高度
listView.setLayoutParams(params);
}
第三步:listview添加适配器后设置高度即可:
listView.setAdapter(adapter);
new ListViewUtil().setListViewHeightBasedOnChildren(listView);
- ListView显示全部Item高度
- Android ListView item显示时高度变化
- listview的item全部漏出来才显示
- listview item的高度
- ListView Item高度设置
- ListView 设置Item高度
- listview item子view的自适应高度后不显示
- [Android]ListView中Item布局无法正常显示固定高度
- listview的item中显示高度不确定的图片
- ListView item错位 由于Item复用时高度不一致导致ListView 显示错误
- 解决:有时listview设置为wrap内容时,listview高度只显示一条item的高度
- ListView中Item高度设置
- ListView高度根据item变化
- ListView高度根据item变化
- ListView 给item指定高度
- Listview的Item高度计算
- 动态改变Listview item高度
- listview中item高度问题
- JAVA EE简介
- 大学java考试题型
- 堆栈的区别与联系(java)
- linux进程间通信学习
- jQuery的each方法的几种常用的用法
- ListView显示全部Item高度
- 超载监控项目
- Xcode常用的快捷键简介
- 使用doxygen生成头文件函数说明文档/帮助文档
- js判断设备是否是移动端代码
- CODE[VS] NO.1501 二叉树最大宽度和高度
- Python显示股票直线图和K线图
- 机器人开发--服务准备
- HDU_P3507 Print Article(动态规划+斜率优化)