簡體   English   中英

Flutter - 鍵盤隱藏文本字段

[英]Flutter - Keyboard Hides TextField

我有一個帶有以下代碼的頁面,當我單擊文本字段,鍵盤打開並覆蓋文本字段時,重復了一個問題。

我搜索了很多並嘗試了許多解決方案,例如:resizeToAvoidBottomInset: true,在下面的代碼中添加了 singlechildscrollview,我還嘗試添加填充:EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom),

什么都沒有!

誰能幫我一個想法或正確的小部件樹來解決這個問題?

Scaffold(
    resizeToAvoidBottomInset: true,
    appBar: AppBar(),
    body: Padding(
      padding: EdgeInsets.fromLTRB(8.w, 8.h, 8.w, 8.h),
      child: SingleChildScrollView(
          child: Column(
childern: [
.
.
.
Container(
 padding: EdgeInsets.only(
                                bottom: MediaQuery.of(context)
                                    .viewInsets
                                    .bottom),
child: textField()
)
.
.
.
]
),
),
),

編輯:答案:

給出我的問題解決方案,以防萬一有人遇到它。 幾個月前,我實現了一個名為 screenutilinit 的包,以使應用程序響應不同的大小,我在主頁中使用的命令之一是這一行:

MaterialApp(useInheritedMediaQuery: true, ..) 當我刪除它時一切正常。

我希望它可以幫助別人。

如果您添加了 singleChildScrollView,它將在鍵盤打開時自動向上移動。 它不再需要填充。

 Scaffold( resizeToAvoidBottomInset: true, appBar: AppBar(), body: Padding( padding: EdgeInsets.all(20), child: SingleChildScrollView( child: Column(children: [ SizedBox( height: 500, ), Container(child: TextField()) ]), )));

給出我的問題解決方案,以防萬一有人遇到它。 幾個月前,我實現了一個名為 screenutilinit 的包,以使應用程序響應不同的大小,我在主頁中使用的命令之一是這一行:

MaterialApp(useInheritedMediaQuery: true, ..) 當我刪除它時一切正常。

我希望它可以幫助別人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM