大神们,listview嵌套在scrollview中,listview加载网络图片并全部展开,listview高度如何测量???
4条回答 默认 最新
- huohao-nicole 2017-06-08 01:45关注
private void setListviewHeight(ListView listView){
//获取ListView对应的Adapter
ListAdapter adapter=listView.getAdapter();
if(adapter==null){
return;
}
int height=0;
for (int i = 0; i <adapter.getCount() ; i++) { //listAdapter.getCount()返回数据项的数目
View listItem=adapter.getView(i,null,listView);
listItem.measure(0,0);//计算子项View 的宽高
height+=listItem.getMeasuredHeight();//统计所有子项的总高度
}
ViewGroup.LayoutParams params=listView.getLayoutParams();
params.height=height+(listView.getDividerHeight()*(adapter.getCount()-1));
//listView.getDividerHeight()获取子项间分隔符占用的高度
//params.height最后得到整个ListView完整显示需要的高度
listView.setLayoutParams(params);
}本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥50 C# 使用DEVMOD设置打印机首选项
- ¥15 麒麟V10 arm安装gdal
- ¥15 想用@vueuse 把项目动态改成深色主题,localStorge里面的vueuse-color-scheme一开始就给我改成了dark,不知道什么原因(相关搜索:背景颜色)
- ¥20 OPENVPN连接问题
- ¥15 flask实现搜索框访问数据库
- ¥15 mrk3399刷完安卓11后投屏调试只能显示一个设备
- ¥100 如何用js写一个游戏云存档
- ¥15 ansys fluent计算闪退
- ¥15 有关wireshark抓包的问题
- ¥15 需要写计算过程,不要写代码,求解答,数据都在图上