ScrollView 嵌套 ListView 只显示第一行的源码分析
要带着问题来阅读源码,解惑以满足心中的好奇心,知其然并知其所以然,了解发现 Google 工程师的代码设计原理。
1、猜测是在 onMeasure 的时候,只测量了第一个 item。
在 MeasureSpec.UNSPECIFIED 的时候,只是拿到了 第 1 个 item 的高度。 在 MeasureSpec.AT_MOST 的时候,会把 ListView 的 view 全部加载。
推测在 ScrollView 里面的测量模式 是 MeasureSpec.UNSPECIFIED。
2、解决方法: 自定义 ListView ,重写 onMeasure 方法,
int heightSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthSpec, heightSpec);
在这里把我们的 ListView 重新赋值成 AT_MOST。
(1、这里的 size 右移两位,是因为 size 低30位, 高两位是 mode。
2、MeasureSpec.UNSPECIFIED 一般是在源码里面调用)
转载于:https://juejin.im/post/5baa3e00f265da0a8a6aae1c
ScrollView 嵌套 ListView 只显示第一行的源码分析相关推荐
- ScrollView嵌套ListView只显示一行
在开发的过程当中,由于手机屏幕的大小的限制,我们经常需要使用滑动的方式,来显示更多的内容.在最近的工作中,遇见一个需求,需要将ListView嵌套到ScrollView中显示.于是乎有了如下布局: & ...
- 日积月累:ScrollView嵌套ListView只显示一行
在开发的过程当中,由于手机屏幕的大小的限制,我们经常需要使用滑动的方式,来显示更多的内容.在最近的工作中,遇见一个需求,需要将ListView嵌套到ScrollView中显示.于是乎有了如下布局: [ ...
- android中ScrollView嵌套ListView或GridView显示位置问题
Android中ScrollView中嵌套ListView或GridView时在开始进入界面时总是显示中间位置,开头的位置显示不出来.这种情况下只需要在ScrollView的父控件中添加以下两行代码即 ...
- ScrollView嵌套ListView后,进入页面不从顶部开始显示的问题解决
ScrollView嵌套ListView后,进入页面不从顶部开始显示的问题解决 首先,正常情况下,如果在ScrollView里嵌套ListView后,会发现ListView只显示1条数据 那么,为了解 ...
- listview嵌套listview,子listview只显示一个item问题
背景: 我在做项目的时候准备用listview嵌套一个listview,但是发现,子listview只显示一条数据,于是,一猜又是计算高度出问题了. 处理办法,当然是和scrollview嵌套list ...
- 四种方案解决ScrollView嵌套ListView问题
在工作中,曾多次碰到ScrollView嵌套ListView的问题,网上的解决方法有很多种,但是杂而不全.我试过很多种方法,它们各有利弊. 在这里我将会从使用ScrollView嵌套ListView结 ...
- ApkBus---四种方案解决ScrollView嵌套ListView问题
原文链接:http://www.apkbus.com/forum.php?mod=viewthread&tid=161576 一. 为什么要使用ScrollView嵌套ListView的奇怪的 ...
- 有关Scrollview嵌套ListView的那些事
有关Scrollview嵌套ListView的那些事 同样作为滑动控件的scrollview与listview,似乎本不应该嵌套使用,可作为研发的我们通常无法左右UI妹子们的奇(fan)思(ren)妙 ...
- android解决ScrollView嵌套ListView不能下拉刷新
为了不误导新人,这篇帖子写的比较早了,这里2016年2月23日21:33:20更新的内容: 千万不要在实际开发中用scrollview嵌套listview\recylerview来处理滑动嵌套, ...
最新文章
- 元旦去哪玩?用Python告诉你哪些景点爆满!
- 三方库报错真的就没有办法了吗?
- 20100422.C#.const VS readonly
- HDU - 5514 Frogs(容斥原理)
- 基于WinDbg的内存泄漏分析
- 批处理文件总结(三)
- java下拉列表 动态_【示例】教你简单用Java写一个动态更新的下拉列表(无数据库)...
- LeetCode 45. 跳跃游戏 II(贪心/BFS,难)
- 压缩js和css, IIS开启Etags, IIS开启Gzip
- ASP.NET MVC应用程序把文字写在图片上
- 【Luogu4921】情侣?给我烧了!(组合计数)
- abaqus切削为什么没有切屑_金属高速切削的ABAQUS仿真(下)
- 灾难性遗忘_谷歌大脑新研究:单一任务强化学习遇瓶颈?「灾难性遗忘」的锅!...
- Hi3519/Hi3559 系列芯片 AI资料介绍
- WordPiece是如何基于词表对文本进行切分的
- TMS VCL UI包功能和特点
- JavaWeb 获取客户端的真实IP地址
- matplotlib sci论文画图技巧
- BeyondCompare使用
- kubernetes(k8s) 基础理论