未檢測(cè)到鍵盤(pán)。MediaQuery.of(context).viewInsets.bottom始終返回0.0
我最近有這個(gè)問(wèn)題。您是否將全屏設(shè)置為true?如果啟用了全屏,MediaQuery.viewInsets.bottom將返回0.0。由于您提到的問(wèn)題僅在android中發(fā)生,因此有可能在本機(jī)android文件中設(shè)置了全屏屬性。檢查styles.xml
<item name='android:windowFullscreen'>false</item>
從應(yīng)用程序中刪除全屏的其他方法是SystemChrome.setEnabledsystemUIOverlays([])在頁(yè)面抖動(dòng)中。
您可能要檢查的另一件事是resizetoAvoidBottomPadding:在Scaffold中設(shè)置為false。
Flutter問(wèn)題中也提出了這個(gè)問(wèn)題:https ://github.com/Flutter/Flutter/issues/25050
解決方法我有一個(gè)帶有TextField的腳手架。以前,鍵盤(pán)會(huì)將字段移到鍵盤(pán)上方時(shí),它始終會(huì)覆蓋該字段。這發(fā)生在我項(xiàng)目的所有頁(yè)面上。
我已經(jīng)將MediaQuery.of(context).viewInsets.bottom添加到我的構(gòu)建方法中,并且它始終返回0.0。鍵盤(pán)抬起時(shí),不會(huì)重建。我嘗試將resizeToAvoidBottomInset設(shè)置為true和false,而沒(méi)有進(jìn)行任何更改。我嘗試將其包裝在Scrollable小部件中,沒(méi)有任何變化。
在IOS上一切正常,這只會(huì)影響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)
