ScrollView与ListView并用时正确计算Listview的高度
来源:互联网 发布:steam怎么公开数据 编辑:程序博客网 时间:2024/05/29 13:49
首先,ListView不能直接用,要自定义一个,然后重写onMeasure()方法:
public class ExpandableListView extends ListView { public ExpandableListView(Context context) { super(context); } public ExpandableListView(Context context, AttributeSet attrs) { super(context, attrs); } public ExpandableListView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); }}
第二步:写个计算listView每个Item的方法:
public static void setListViewHeightBasedOnChildren(ListView listView) { ListAdapter adapter = listView.getAdapter(); if (adapter == null) { return; } int totalHeight = 0; for (int i = 0, len = adapter.getCount(); i < len; i++) { //listAdapter.getCount()返回数据项的数目 View listItem = adapter.getView(i, null, listView); listItem.measure(0, 0); //计算子项View 的宽高 totalHeight += listItem.getMeasuredHeight(); //统计所有子项的总高度 } ViewGroup.LayoutParams params = listView.getLayoutParams(); params.height = totalHeight + (listView.getDividerHeight() * (adapter.getCount() - 1)); //listView.getDividerHeight()获取子项间分隔符占用的高度 //params.height最后得到整个ListView完整显示需要的高度 listView.setLayoutParams(params); }
第三步:listview添加适配器后设置高度即可:
listView.setAdapter(adapter); new ListViewUtil().setListViewHeightBasedOnChildren(listView);
0 0
- ScrollView与ListView并用时正确计算Listview的高度
- ScrollView与ListView合用(正确计算Listview的高度)的问题解决
- ScrollView与ListView合用(正确计算Listview的高度)的问题解决
- ScrollView与ListView合用(正确计算Listview的高度)的问题
- ScrollView与ListView合用(正确计算Listview的高度)的问题解决
- ScrollView与ListView合用(正确计算Listview的高度)的问题解决
- ScrollView与ListView合用问题(正确计算Listview的高度)
- ScrollView与ListView合用问题(正确计算Listview的高度)
- ScrollView嵌套listview,并计算listview的高度
- 解决:ScrollView嵌套ListView导致无法正确计算ListView的高度之动态加载图片高度常规方法失效。
- 计算Listview的高度解决Scrollview和listview的冲突
- scrollview中嵌入listview动态计算listview的高度
- 浅谈ScrollView嵌套ListView及ListView嵌套的高度计算
- ScrollView嵌套ListView高度计算
- 兔子--计算listview的高度,解决listview与scrollview控件冲突
- ListView与ScrollView冲突,计算ListView的高度Item,然后重绘
- 实现ScrollView中包含ListView,动态设置ListView的高度(listview不能显示全,不能正确计算item的高度)
- 在 Listview和 Scrollview一起用时,listview计算不准确的解决办法
- java序列化和反序列化
- 以后坚持用java
- java术语(PO/POJO/VO/BO/DAO/DTO)
- 角色管理添加并且添加接口 使用vo来在前台取出
- 用ALTER TABLE语句来创建索引
- ScrollView与ListView并用时正确计算Listview的高度
- Viola Jones Face Detector
- java中的hashtable
- 转(NLP必读)
- 运用反射创建对象
- socket(Channel)协议编码
- hadoop
- java常见机试题目(1)
- Maven实战常用Maven插件介绍