/** * 计算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); } } }
计算listview一项高度
最新推荐文章于 2018-04-12 16:10:47 发布