计算listview一项高度

来源:互联网 发布:chan算法 matlab代码 编辑:程序博客网 时间:2024/05/18 17:41
/** * 计算item高度 */public void countItemHight(){    totalHeight=0;    for (int i = 0, len = popListviewAdapter.getCount(); i < len; i++) {        View listItem = popListviewAdapter.getView(i, null, pop_listview);        listItem.measure(0, 0); // 计算子项View 的宽高        int list_child_item_height = listItem.getMeasuredHeight()+pop_listview.getDividerHeight();        totalHeight += list_child_item_height; // 统计所有子项的总高度        // listView.getDividerHeight()获取子项间分隔符占用的高度        // params.height最后得到整个ListView完整显示需要的高度        ViewGroup.LayoutParams params = pop_listview.getLayoutParams();        params.height = totalHeight + (pop_listview.getDividerHeight() *                (popListviewAdapter.getCount() - 1));        if(params.height>list_child_item_height*5){            LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,                    list_child_item_height*5);            pop_listview.setLayoutParams(param);        }else{            pop_listview.setLayoutParams(params);        }    }}
0 0
原创粉丝点击