引言
在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嵌套的高度计算方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。
总结以上是内存溢出为你收集整理的ScrollView嵌套ListView及ListView嵌套的高度计算方法全部内容,希望文章能够帮你解决ScrollView嵌套ListView及ListView嵌套的高度计算方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)