ListView界面在Flutter 3.0错乱

语言: CN / TW / HK

highlight: androidstudio theme: juejin


小时候喜欢大牌子

年轻时相信大公司

现在别啥哪些没用的

一、 入坑

一直以来有一个口口相传的秘诀,就是Flutter版本等到..3版本再升级。

大版本升级一定要慎重的。不然不知道哪个界面中就会出现未知的异常。

Flutter3.0发布了,但是选择不升级,忍了一个星期后,突然发现Flutter开始支持APPLE Silicon M1了。心动了,控制不住自己了,升吧。

然后出现了,我的小怪兽。 WechatIMG100.jpeg 上拉和下拉进行刷新界面的时候,出现了诡异的现象。

二、现象

第一反应是Flutter3.0的锅,而已经无法回退版本了,只能选择一往无前。

abnormal.2022-05-18 10_33_26.gif

用一休的大脑: - 第三方库不兼容了,赶紧升级下版本。 - 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> 就是它,删除后,出现了,出现了。

normal.2022-05-18 10_49_08.gif

那么舒服的感觉,我很喜欢。

六、后记

一定要记得..3版本再升级,不能TiMi时间浪费在编译上了。