首页 > 其他 > 详细

测试Test

时间:2015-08-05 14:40:34      阅读:213      评论:0      收藏:0      [点我收藏+]
 1 public void setListViewHeightBasedOnChildren(ListView listView) {   
 2         // 获取ListView对应的Adapter   
 3         ListAdapter listAdapter = listView.getAdapter();   
 4         if (listAdapter == null) {   
 5             return;   
 6         }   
 7    
 8         int totalHeight = 0;   
 9         for (int i = 0, len = listAdapter.getCount(); i < len; i++) {   
10             // listAdapter.getCount()返回数据项的数目   
11             View listItem = listAdapter.getView(i, null, listView);   
12             // 计算子项View 的宽高   
13             listItem.measure(0, 0);    
14             // 统计所有子项的总高度   
15             totalHeight += listItem.getMeasuredHeight();    
16         }   
17    
18         ViewGroup.LayoutParams params = listView.getLayoutParams();   
19         params.height = totalHeight+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));   
20         // listView.getDividerHeight()获取子项间分隔符占用的高度   
21         // params.height最后得到整个ListView完整显示需要的高度   
22         listView.setLayoutParams(params);   
23     }   

 

 

 1 public void setListViewHeightBasedOnChildren(ListView listView) {   
 2         // 获取ListView对应的Adapter   
 3         ListAdapter listAdapter = listView.getAdapter();   
 4         if (listAdapter == null) {   
 5             return;   
 6         }   
 7    
 8         int totalHeight = 0;   
 9         for (int i = 0, len = listAdapter.getCount(); i < len; i++) {   
10             // listAdapter.getCount()返回数据项的数目   
11             View listItem = listAdapter.getView(i, null, listView);   
12             // 计算子项View 的宽高   
13             listItem.measure(0, 0);    
14             // 统计所有子项的总高度   
15             totalHeight += listItem.getMeasuredHeight();    
16         }   
17    
18         ViewGroup.LayoutParams params = listView.getLayoutParams();   
19         params.height = totalHeight+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));   
20         // listView.getDividerHeight()获取子项间分隔符占用的高度   
21         // params.height最后得到整个ListView完整显示需要的高度   
22         listView.setLayoutParams(params);   
23     }   

 

public void setListViewHeightBasedOnChildren(ListView listView) {   
        // 获取ListView对应的Adapter   
        ListAdapter listAdapter = listView.getAdapter();   
        if (listAdapter == null) {   
            return;   
        }   
   
        int totalHeight = 0;   
        for (int i = 0, len = listAdapter.getCount(); i < len; i++) {   
            // listAdapter.getCount()返回数据项的数目   
            View listItem = listAdapter.getView(i, null, listView);   
            // 计算子项View 的宽高   
            listItem.measure(0, 0);    
            // 统计所有子项的总高度   
            totalHeight += listItem.getMeasuredHeight();    
        }   
   
        ViewGroup.LayoutParams params = listView.getLayoutParams();   
        params.height = totalHeight+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));   
        // listView.getDividerHeight()获取子项间分隔符占用的高度   
        // params.height最后得到整个ListView完整显示需要的高度   
        listView.setLayoutParams(params);   
    }   

 

测试Test

原文:http://www.cnblogs.com/namehfq/p/4704511.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!