ListView 设置高度为刚好能包裹子元素
当我们的程序中有多个ListView 时怎么设置ListView 的高度成了一个问题。
ListView中数据个数是不确定的,显然不能将高度写死。
但通过测试发现,无论将高度设置为匹配父控件还是包裹内容,都不能正常显示所有内容。
通过在网上查找资料,我找到如下解决办法。
首先将多个ListView包裹在LinerLayout中,然后将LinerLayou放到ScrollView中。这样多个ListView 就可以滚动了。
关于ListView 的高度,用以下代码可以设置
private void setListViewHeightBasedOnChildren(ListView listView){ListAdapter adapter = listView.getAdapter();if(adapter == null){return;}int totalHeight = 0;for(int i=0;i<adapter.getCount();i++){View listItem = adapter.getView(i,null,listView);.getResources().getDisplayMetrics().widthPixels, View.MeasureSpec.EXACTLY), 0);//此处很重要,不要用measure(0,0);否则item中如果有换行,显示不完全totalHeight += listItem.getMeasuredHeight();}ViewGroup.LayoutParams params = listView.getLayoutParams();params.height = totalHeight+(listView.getDividerHeight()*(adapter.getCount()-1));listView.setLayoutParams(params);}
ListView 设置高度为刚好能包裹子元素相关推荐
- html5shiv主要解决IE6-8 无法识别HTML5的新标签,父节点不能包裹子元素,以及应用CSS样式...
html5shive html5shiv主要IE6-8解决: 1,HTML5提出的新的元素不被IE6-8识别. 2,这些新元素不能作为父节点包裹子元素, 3,并且不能应用CSS样式.让CSS 样式应用 ...
- [Web前端] 子元素设置高度为100%, 却没有与父元素对齐高度.
大概描述一下我遇到的情况. 父元素没有明确指定高度, 但是其中一个子元素的高度是确定的, 并且通过这个高度将父元素的高度撑起来. 另一个子元素的高度是100%, 即, 我想要使它与父元素的高度统一. ...
- html让空间高度跟随父级,CSS子元素跟父元素的高度一致的实现方法
绝对定位方法: (1)将父元素设置为相对定位,不写父元素的高度时,会随着左边的子元素高度变化而变化 .parent { /*关键代码*/ position: relative; /*其他样式*/ wi ...
- 【CSS】绝对定位元素设置 水平 / 垂直 居中 ( 绝对定位元素居中设置 - 先偏移 50% 再回退子元素一半尺寸 | 绝对定位居中设置 )
文章目录 一.问题提出 二.绝对定位 居中设置 1.设置固定尺寸 2.先偏移50%再回退固定值 三.绝对定位元素 水平 / 垂直 居中 一.问题提出 绝对定位 不能通过 设置 margin: auto ...
- flex 子元素占满剩余高度 与 flex:1 的子元素 overflow:hidden 失效
这几天使用flex开发大屏,遇到一个印象比较深的问题就是flex的子元素,在其他兄弟元素的高度不定的情况下,如何占满父元素的剩余空间? 效果图: 要点就是: 1.父元素要设置 display: fle ...
- 微信小程序swiper高度自适应,swiper的子元素高度不固定
小程序 swiper 组件默认高度150px,并且如果子元素过高,swiper不会自适应高度 解决方案一: (总体来说不够完美,适合满屏滑动) 如果不是满屏的状态,用scroll-view IOS滑动 ...
- 关于flex布局中,父元素高度auto,由一子元素撑开,另一子元素自适应高度问题
.expressRecord-single-close {//父元素样式 width: 100%; height: auto; display: flex; justify-content: flex ...
- 父元素设置overflow: overlay; 或 overflow: scroll; 或 overflow: auto; 如果子元素超出父元素内容,父元素会被子元素超出部分撑大至子元素同样大小
发现 父元素设置overflow: overlay; 或 overflow: scroll; 或 overflow: auto; 如果子元素超出父元素内容,父元素会被子元素超出部分撑大至子元素同样大小 ...
- [译] 关于CSS中的float和position (父容器div内的子元素div为float时,父元素无法撑开(或高度自适应)的解决方式)
测试案例:http://blog.csdn.net/goodshot/article/details/44408245 当构建页面排版时,有不同的方法可以使用.使用哪一种方法取决于具体页面的排版要求, ...
最新文章
- JavaScript: 设置Cookie
- python绘图—— matplotlib
- 网络IPC:套接字之建立连接
- 匹配特殊字符的正则表达式
- android 开发 切图,Android开发,切图网站推荐。
- ubuntu下常用的抓包软件_macOS下最常用也最好用的几款解压缩软件,你值得拥有...
- CPN(Cascaded Pyramid Network for Multi-Person Pose Estimation) 姿态估计
- NGS检测ALK融合大起底--转载
- 秒杀笔记(乐观锁+令牌桶+Redis缓存)
- ROS学习记1——玩弄小海龟
- Android学习笔记:实现app启动界面跳过倒计时功能
- 关于oracle的递归查询
- 使用docker构架服务 jekyll 和 java应用程序
- Python的wheel文件安装
- 短视频矩阵系统,抖音矩阵系统源码,抖音SEO源码。
- 【Designing ML Systems】第 11 章 :机器学习的人性方面
- 如何一次高效的插入200MB(50万条)的insert语句
- 网站算法石榴算法严厉打击下 网站盈利方向何在
- 计算机知识传播策划书,计算机学院硬件知识讲座活动策划书
- python数据解析——xpath爬取文字和图片
热门文章
- AI:一张高清长图教你读懂AI简史《1308年 → 至今》
- Py之pyserial:Python的pyserial库的简介、安装、使用方法之详细攻略
- 深入浅出统计学 第一章 数据的可视化
- TypeError: Can not convert a float32 into a Tensor or Operation.
- react中component存在性能问题
- maven dependency中scope=compile 和 provided区别
- leetcode347 - Top K Frequent Elements - medium
- day05 Spring中自定义注解的用处-之获取自定义的Servie
- Hibernate 之单向多对一映射及其衍生问题
- Java语言基础(数组)