ListView高度根据item变化
2014-06-12 09:54
232 查看
[java] view
plaincopy
/**
* 使ScrollView中的ListView可以正常显示
* ListView的Item根元素必须是LinearLayout
* @param listView
*/
public static void setListViewHeightBasedOnChildren(ListView listView) {
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
return;
}
int totalHeight = 0;
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(0, 0);
totalHeight += listItem.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight
+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));
listView.setLayoutParams(params);
}
plaincopy
/**
* 使ScrollView中的ListView可以正常显示
* ListView的Item根元素必须是LinearLayout
* @param listView
*/
public static void setListViewHeightBasedOnChildren(ListView listView) {
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
return;
}
int totalHeight = 0;
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(0, 0);
totalHeight += listItem.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight
+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));
listView.setLayoutParams(params);
}
相关文章推荐
- ListView高度根据item变化
- ListView和GridView根据item数量自适应高度的工具类封装
- ListView中根据手机屏幕高度动态设置只显示一屏幕的item个数
- ListView中根据手机屏幕高度动态设置只显示一屏幕的item个数
- 根据item的高度以及长度设置listview的高度,
- Android ListView item显示时高度变化
- [置顶] android根据屏幕高度改变item占ListView高度
- 对listview中每个item高度的设置
- iframe高度根据内容变化
- ViewPager的高度根据item的高度自适应
- ListView的Item高度不确定,导致最后一条item中ImageView 加载图片时不能完全显示
- 要让一个div的高度根据屏幕大小变化,但不是铺满整屏,只占一个固定部分
- 实现ScrollView中包含ListView,动态设置ListView的高度(listview不能显示全,不能正确计算item的高度)
- 自定义Adapter,通过复写getView方法,实现ListView中item背景颜色变化
- ListView设置Item高度的几种方法
- ListView的item高度调整
- android给listview的item设定高度
- [Android]ListView中Item布局无法正常显示固定高度
- 【代码笔记】iOS-屏幕根据键盘自动的变化高度
- android给Listview或GridView的item设定高度(可能是最好的解决方案)