ScrollView包含ListView的解决方法
来源:互联网 发布:中信银行网络贷款 编辑:程序博客网 时间:2024/05/29 10:03
第一种方式
动态计算ListView 高度
/** * Scrollview 包含ListView时动态计算Listview的高度 * @param listView */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);}
第二种方式
自定义ListView
public class ListViewForScrollView extends ListView { public ListViewForScrollView(Context context) { super(context); } public ListViewForScrollView(Context context, AttributeSet attrs) { super(context, attrs); } public ListViewForScrollView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override /** * 重写该方法,达到使ListView适应ScrollView的效果 */ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); }}
阅读全文
1 0
- ScrollView包含ListView的解决方法
- ScrollView 包含ListView解决方法
- listView或者scrollView中包含gridView或listView的解决方法
- ScrollView包含ListView的处理
- ScrollView包含ListView出现的问题解决
- ScrollView中包含ListView
- scrollView中实现listView的解决方法
- ScrollView和ListView套用冲突的解决方法
- 安卓中ScrollView和ListView冲突的解决方法
- Scrollview 嵌套Listview 冲突的解决方法
- ListView和ScrollView的结合 解决方法
- ListView与ScrollView的滑动冲突解决方法
- 总结ScrollView嵌套ListView的解决方法
- scrollview嵌套listview的解决方法(一)
- ScrollView嵌套ListView解决方法
- ScrollView中包含ListView问题解决
- 众说纷纭:ScrollView中包含ListView
- android布局ScrollView包含ListView
- webpack 出口 Output
- 1007. 素数对猜想 (20)
- 服务器各项拓展基础库说明
- 一位大牛对于写技术博客的一些建议
- 四大组件之ContentProvider
- ScrollView包含ListView的解决方法
- SQL Server 2005 当前命令发生了严重错误 应放弃任何可能产生的结果
- python django mysql 连接
- NestedScrolling
- java web项目中集成ueditor在线编辑器以及如何运用在线编辑器向后台传递数据
- SoLFM_learning
- GCD
- C++ 调试帮助简介
- 1008. 数组元素循环右移问题 (20)