未檢測到鍵盤。MediaQuery.of(context).viewInsets.bottom始終返回0.0
我最近有這個問題。您是否將全屏設(shè)置為true?如果啟用了全屏,MediaQuery.viewInsets.bottom將返回0.0。由于您提到的問題僅在android中發(fā)生,因此有可能在本機(jī)android文件中設(shè)置了全屏屬性。檢查styles.xml
<item name='android:windowFullscreen'>false</item>
從應(yīng)用程序中刪除全屏的其他方法是SystemChrome.setEnabledsystemUIOverlays([])在頁面抖動中。
您可能要檢查的另一件事是resizetoAvoidBottomPadding:在Scaffold中設(shè)置為false。
Flutter問題中也提出了這個問題:https ://github.com/Flutter/Flutter/issues/25050
解決方法我有一個帶有TextField的腳手架。以前,鍵盤會將字段移到鍵盤上方時,它始終會覆蓋該字段。這發(fā)生在我項目的所有頁面上。
我已經(jīng)將MediaQuery.of(context).viewInsets.bottom添加到我的構(gòu)建方法中,并且它始終返回0.0。鍵盤抬起時,不會重建。我嘗試將resizeToAvoidBottomInset設(shè)置為true和false,而沒有進(jìn)行任何更改。我嘗試將其包裝在Scrollable小部件中,沒有任何變化。
在IOS上一切正常,這只會影響android構(gòu)建。
Doctor summary (to see all details,run flutter doctor -v): [?] Flutter (Channel unknown,v1.10.15,on Mac OS X 10.15.1 19B88,locale en-US)[?] Android toolchain - develop for Android devices (Android SDK version 29.0.2) [?] Xcode - develop for iOS and macOS (Xcode 11.2.1) [?] Android Studio [?] Android Studio (version 3.5) [?] VS Code (version 1.40.2) [?] Connected device (1 available)
