scrollView 嵌套 listview 方式除了测量还有什么方法?
2024-10-07 03:38:49
1、手动设置 ListView 高度
经过测试发现,在 xml 中直接指定 ListView 的高度,是可以解决这个问题的,但是 ListView
中的数据是可变的,实际高度还需要实际测量。
于是手动代码设置 ListView 高度的方法就诞生了。
/**
* 动态设置 ListView 的高度
/**
* 动态设置 ListView 的高度
* @param listView
*/
public static void setListViewHeightBasedOnChildren(ListView listView) {
if(listView == null)
return;
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
// pre-condition
return;
}
int totalHeight = 0;
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(0, 0);
totalHeight += listItem.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() -1));
listView.setLayoutParams(params);
}
最新文章
- C++11中自定义range
- Excel 实用技巧之一
- 【Android测试】UI自动化代码优化之路(临时发布, 随时删除)
- Magicodes.WeiChat——多租户的设计与实现
- 如何用JS获取ASP.net中的textbox的值 js获不到text值
- openerp - asterisk connector(转载)
- c#中cookies的存取操作
- JavaScript高级程序设计16.pdf
- Toast——提醒方式
- PHP实现好友生日邮件提醒
- 【每天一道算法题】Numeric Keypad
- Oracle学习笔记之存储过程
- Node.js_express_中间件 middleware_登录/注册实例源代码
- MQTT 学习记录
- 【WebForm】知识笔记
- 云-AWS-清单:清单列表
- [leetcode]346. Moving Average from Data Stream滑动窗口平均值
- C#回调实现的一般过程
- TThread 线程的例子
- kvm详细介绍