美文网首页小技巧
ListView随内容自适应高度

ListView随内容自适应高度

作者: 遇见空城 | 来源:发表于2017-03-24 14:17 被阅读0次

public void setListViewHeightBasedOnChildren(ListView listView) {

ListAdapter listAdapter = listView.getAdapter();

if(listAdapter ==null) {

return;

}

int tempHeight =0;

for(int i =0;i < listAdapter.getCount();i++) {

View listItem = listAdapter.getView(i, null,listView);

listItem.measure(0,0);

tempHeight += listItem.getMeasuredHeight();

}

ViewGroup.LayoutParams params = listView.getLayoutParams();

int totalHeight = tempHeight + (listView.getDividerHeight() * (listAdapter.getCount() -1));

//获取屏幕的高度

int screenHeight = CommUtils.getScreenHeight(this);

//如果ListView高度超过了屏幕的三分之一,则将屏幕的三分之一设置为它的高度

if(totalHeight > screenHeight /3) {

totalHeight = screenHeight /3;

}

params.height= totalHeight;

listView.setLayoutParams(params);

}

相关文章

网友评论

    本文标题:ListView随内容自适应高度

    本文链接:https://www.haomeiwen.com/subject/hlhfottx.html