博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ScrollView和ListView共存
阅读量:6837 次
发布时间:2019-06-26

本文共 1313 字,大约阅读时间需要 4 分钟。

ScrollView中包含ListView时,ListView会出现不能滑动的问题,因为默认两个滑动控件不能嵌套,要让ListView正常显示,需要计算ListView的高度

这里是计算方法,原理是获取每个item的高度,相加,如果有header和footer也要加上

1 /** 2      * ScrollView和ListView共存时,该方法用于计算ListView高度 3      *  4      * @param listView 5      */ 6     public void setListViewHeightBasedOnChildren(ListView listView) { 7         ListAdapter listAdapter = listView.getAdapter(); 8         if (listAdapter == null) { 9             return;10         }11 12         int totalHeight = 0;13         for (int i = 0; i < listAdapter.getCount(); i++) {14             View listItem = listAdapter.getView(i, null, listView);15             listItem.measure(0, 0);16             totalHeight += listItem.getMeasuredHeight();17         }18 19         ViewGroup.LayoutParams params = listView.getLayoutParams();20         params.height = totalHeight21                 + (listView.getDividerHeight() * (listAdapter.getCount() - 1));22         ((MarginLayoutParams) params).setMargins(10, 10, 10, 10);23         listView.setLayoutParams(params);24     }

在类文件中使用:

1 ListViewAdapter listViewAdapter = new ListViewAdapter(this);2 mListView.setAdapter(listViewAdapter);3 listViewAdapter.setListViewHeightBasedOnChildren(mListView);

另一种解决方法是自定义LinearLayout,通过addView动态添加view.

收藏

转载于:https://www.cnblogs.com/cc-Cheng/archive/2012/10/22/2734384.html

你可能感兴趣的文章
比如取得一个div得innerHTML
查看>>
网站DIV+css弹性+固宽布局案例
查看>>
开发者需知:优秀程序设计的18大原则
查看>>
半天打造小型万能OA办公系统, 靠的就是万能表单提交 + 轻量级工作流审批组件...
查看>>
Win7修改文件后缀名
查看>>
谈谈J2EE框架Paoding-Rose
查看>>
为程序员量身定制的12个目标
查看>>
DIV外区域Click后关闭DIV
查看>>
后缀数组学习笔记——罗穗骞倍增算法代码
查看>>
Automating Capistrano Password Prompts with Expect
查看>>
用 HTML5 和 Javascript 仿制一个水果忍者网页版! (直接浏览器在线玩+源代码下载)...
查看>>
设计模式简介
查看>>
删除数组中某一匹配项
查看>>
Sharepoint学习笔记—error处理-- The user does not exist or is not unique.
查看>>
CSS占位隐藏(转)
查看>>
利用jsdoc-toolkit生成javascript文档
查看>>
javascript 判断浏览器客户端
查看>>
NSString 中包含中文字符时转换为NSURL
查看>>
排序总结
查看>>
PreferenceCategory背景颜色设置
查看>>