ScrollView嵌套ListView及ListView嵌套的高度计算方法
引言
在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嵌套的高度计算方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Android Recyclerview实现上拉加载更多功能
在项目中使用列表的下拉刷新和上拉加载更多是很常见的功能。下文给大家带来了Android Recyclerview上拉加载更多功能,需要的朋友参考下吧2017-05-05Android实现类似IOS右滑返回的效果(原因分析及解决办法)
这篇文章主要介绍了Android实现类似IOS右滑返回的效果,非常不错,具有参考借鉴价值,需要的朋友参考下2017-03-03Android编程使用自定义shape实现shadow阴影效果的方法
这篇文章主要介绍了Android编程使用自定义shape实现shadow阴影效果的方法,涉及Android中xml文件布局的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下2015-11-11详解Android Activity中的几种监听器和实现方式
这篇文章主要介绍了Activity中的几种监听器和实现方式的相关资料,帮助大家更好的理解和学习使用Android,感兴趣的朋友可以了解下2021-04-04
最新评论