安卓ListView根据Adapter动态设置高度

1. ListView根据Adapter动态设置高度,使ListView高度正好显示出所有的Item,不用滚动条

public void setListViewHeightBasedOnChildren(ListView listView) {
    //获取listview的适配器
    ListAdapter listAdapter = listView.getAdapter(); //item的高度
    if (listAdapter == null) {
        return;
    }
    int totalHeight = 0;
    for (int i = 0; i < listAdapter.getCount(); i++) {
        View listItem = mAdapter.getView(i, null, listView);
        listItem.measure(0, 0); //计算子项View 的宽高 //统计所有子项的总高度
        totalHeight += listItem.getMeasuredHeight()+listView.getDividerHeight();
    }
    ViewGroup.LayoutParams params = listView.getLayoutParams();
    params.height = totalHeight;
    listView.setLayoutParams(params);
}

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/junjle/article/details/52352847
个人分类: android
上一篇安卓AlertDialog显示输入框
下一篇setEnable和setClickable区别
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭