博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ScrollView嵌套GridView和ListView行高问题
阅读量:4926 次
发布时间:2019-06-11

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

1.GidView使用的时候可以先重载GirdView例如:

1 public class MyGridView extends GridView { 2  3     public MyGridView(Context context) { 4         super(context); 5     } 6  7     public MyGridView(Context context, AttributeSet attrs) { 8         super(context, attrs); 9     }10 11     public MyGridView(Context context, AttributeSet attrs, int defStyle) {12         super(context, attrs, defStyle);13     }14 15     @Override16     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {17 18         int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,MeasureSpec.AT_MOST);19 20         super.onMeasure(widthMeasureSpec, expandSpec);21     }22 23 }

 

在布局文件中使用

1             
10

 

2.ListView在setAdapter后调用setListViewHeightBasedOnChildren方法:

 1 sortListView.setAdapter(adapter); 2 LvHeightUtil.setListViewHeightBasedOnChildren(sortListView); 

  

1 public static void setListViewHeightBasedOnChildren(ListView listView) { 2 ListAdapter listAdapter = listView.getAdapter(); 3 if (listAdapter == null) { 4 return; 5 } 6 int totalHeight = 0; 7 for (int i = 0; i < listAdapter.getCount(); i++) { 8 View listItem = listAdapter.getView(i, null, listView); 9 listItem.measure(0, 0);10 totalHeight += listItem.getMeasuredHeight();11 }12 13 ViewGroup.LayoutParams params = listView.getLayoutParams();14 params.height = totalHeight15 + (listView.getDividerHeight() * (listAdapter.getCount() - 1));16 listView.setLayoutParams(params);17 }

 

  

转载于:https://www.cnblogs.com/ajqfju/p/4591360.html

你可能感兴趣的文章
微服务架构设计
查看>>
有关iOS热更新
查看>>
隐藏17年的Office远程代码执行漏洞(CVE-2017-11882)
查看>>
IE8下的typeof(console.log)为"object"的BUG
查看>>
设计模式六大原则
查看>>
【转】为什么说Redis是单线程的以及Redis为什么这么快!
查看>>
POJ 3419 (rmq)
查看>>
HDU 1043 Eight (A*算法)
查看>>
SQLServer中的全局变量
查看>>
MPlayer配置文件
查看>>
about money
查看>>
大视角、大方向、大问题、大架构:(结局)解决问题的出发点
查看>>
通用性安装redis和基本配置
查看>>
《蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践》阅读笔记
查看>>
Oracle中的Rowid
查看>>
OSI七层模型详解
查看>>
回车与换行 ---编码等相关讨论----由notepad++ 批量替换 引发的讨论,转义字符也是人为硬性规定的。...
查看>>
在java代码中设置margin
查看>>
返回多个参数
查看>>
原型设计工具Axure 建模工具powerdesigner
查看>>