当前位置: 安卓之星 -> 安卓开发 -> ListView如何动态设置固定高度

ListView如何动态设置固定高度

作者:网络 发表于: 2017-02-27 点击: 330 次

在开发中,常常遇到一个activity里要包含多个listview的问题。那么如果能固定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));

  ((MarginLayoutParams) params).setMargins(10, 10, 10, 10); // 可删除

  listView.setLayoutParams(params);
 }

相关文章

相关文章

赶快留言冒泡

  • 评论 (0)
  • 引用通告 (0)
目前还没有任何评论.
目前还没有任何Trackbacks和Pingbacks.
吐个泡浮上去.