4 回答

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個(gè)贊

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊
LayoutParams.height
Utility.setListViewHeightBasedOnChildren(yourListView)
public class Utility { public static void setListViewHeightBasedOnChildren(ListView listView) { ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) { // pre-condition return; } int totalHeight = listView.getPaddingTop() + listView.getPaddingBottom(); for (int i = 0; i < listAdapter.getCount(); i++) { View listItem = listAdapter.getView(i, null, listView); if (listItem instanceof ViewGroup) { listItem.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); } listItem.measure(0, 0); totalHeight += listItem.getMeasuredHeight(); } ViewGroup.LayoutParams params = listView.getLayoutParams(); params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1)); listView.setLayoutParams(params); }}

TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊
ListView
ScrollView
ListView
ScrollView
ListView
ListView
ListView
ListView
ListView
添加回答
舉報(bào)