//获取ListView适配器
ListAdapter listAdapter = newsListView.getAdapter();
//保存计算的高度
int heigthtTo = 0;
//获取条目总数遍历
for (int i = 0; i < listAdapter.getCount(); i++) {
//获得每个条目
View item = listAdapter.getView(i, null, listView);
//方法计算高宽,这里必须是LinearLayout布局
item.measure(0, 0);
//计算每个条目的高总和保存到heigthtTo
heigthtTo += item.getMeasuredHeight();
}
//获取ListView的LayoutParams,只需要修改高度就可以。
ViewGroup.LayoutParams params = newsListView.getLayoutParams();
//修改ListView高度为item总高度和所有分割线的高度总和。getDividerHeight获取分割线的高度
//这里的分隔线是指ListView自带的divider
params.height = heigthtTo + (newsListView.getDividerHeight() * (listAdapter.getCount() - 1));
//将修改过的参数,重新设置给ListView
newsListView.setLayoutParams(params);
ScrollView和ListView冲突动态设置高度
最新推荐文章于 2024-07-16 03:30:34 发布