ListView界面在Flutter 3.0错乱
一、 入坑
一直以来有一个口口相传的秘诀,就是Flutter版本等到*.*.3版本再升级。
大版本升级一定要慎重的。不然不知道哪个界面中就会出现未知的异常。
Flutter3.0发布了,但是选择不升级,忍了一个星期后,突然发现Flutter开始支持APPLE Silicon M1了。心动了,控制不住自己了,升吧。
然后出现了,我的小怪兽。
上拉和下拉进行刷新界面的时候,出现了诡异的现象。
二、现象
第一反应是Flutter3.0的锅,而已经无法回退版本了,只能选择一往无前。
用一休的大脑:
- 第三方库不兼容了,赶紧升级下版本。
RefreshIndicator
有新改动吗。ListView
有改动吗?Column
配合Expanded
界面混乱了。ListView
的Item用错了。- Debug模式也有这个问题吗。
。。。。。。
前前后后修改,编译,运行,修改,编译,运行。。。(还好我的M1 Max效率还是比较高的)
三、分析
询问度娘,google,gitHub。。。查看所有可能的答案。如果真的是ListView
有问题,那应该早就有人碰到了。怎么说3.0出来已经一个星期了。
Nope Nope Nope
行吧。请教同事,拉来所有同事问问,出谋划策。
No Way
排查了所有组件的可能性,把所有代码都删干净了,仅仅就一个ListView了,还是存在一样的问题。
那这个锅就是你了ListView了,出来的怪兽。不要躲了。
四、解决
为了确定是Flutter 3.0的锅,然后甩给Flutter,搞一个Demo吧。风风火火。。。
Demo竟然没有没有没有问题。Flutter表示这个锅它不背啊。
啊啊啊啊 流失了一天宝贵时光,此处省去1万字...
终于在比较了所有代码后,发现了它,那个引起问题的代码。
五、原因
是的。
<item name="android:fitsSystemWindows">true</item>
就是它,删除后,出现了,出现了。
那么舒服的感觉,我很喜欢。
六、后记
一定要记得*.*.3版本再升级,不能TiMi时间浪费在编译上了。
作者:_阿南_
链接:https://juejin.cn/post/7098909224612134942
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。