首页 > 其他 > 详细

ScrollView和ListView的冲突问题

时间:2016-04-07 13:21:21      阅读:257      评论:0      收藏:0      [点我收藏+]

 

在ScrollView添加一个ListView会导致listview控件显示不全,这是因为两个控件的滚动事件冲突导致。所以需要通过listview中的item数量去计算listview的显示高度,从而使其完整展示,如下提供一个方法供大家参考。

示例代码:

 

public 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)); 
params.height += 5;//if without this statement,the listview will be a little short 
listView.setLayoutParams(params); 
}

 

ScrollView和ListView的冲突问题

原文:http://www.cnblogs.com/yaxiaoke/p/5362942.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!