首页 > 系统 > Android > 正文

ScrollView嵌套ListView及ListView嵌套的高度计算方法

2019-10-22 18:17:34
字体:
来源:转载
供稿:网友

引言

在Android开发中,我们有时会需要使用ScrollView中嵌套ListView的需求。例如:在展示信息的ListView上还有一部分信息展示区域,并且要求这部分信息展示区域在ListView信息比较多的时候也是可以滑动的,而不是固定不变的。这时,我们一般会将ScrollView和ListView嵌套在一起使用。但是这会导致ListView展示不全,然后也会有滑动冲突问题。下面我们来看看怎么解决。

解决方案

主动计算和设置ListView的高度,这样就可以合理的展示ListView的高度。代码如下:

public void setListViewHeightBasedOnChildren(ListView listView) {  // 获取ListView对应的Adapter  ListAdapter listAdapter = listView.getAdapter();  if (listAdapter == null) {   return;  }  int totalHeight = 0;  // listAdapter.getCount()返回数据项的数目  for (int i = 0; i < listAdapter.getCount(); i++) {   View listItem = listAdapter.getView(i, null, listView);   // 计算子项View 的宽高   listItem.measure(0, 0);   // 统计所有子项的总高度   totalHeight += listItem.getMeasuredHeight();  }  ViewGroup.LayoutParams params = listView.getLayoutParams();  params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));  // listView.getDividerHeight()获取子项间分隔符占用的高度  // params.height最后得到整个ListView完整显示需要的高度  listView.setLayoutParams(params); }

以上这篇ScrollView嵌套ListView及ListView嵌套的高度计算方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到Android开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表