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時間浪費在編譯上了。