簡體   English   中英

鍵盤覆蓋 Flutter 中的 TextField

[英]Keyboard covers TextField in Flutter

我遇到的問題是,每當我想在文本字段中輸入內容時,鍵盤都會覆蓋它。 我希望只要鍵盤出現,屏幕就會向上滾動。 對此有什么想法嗎? 我嘗試將 resizeToAvoidBottomInsert 設置為 true,並將所有內容都包裝到 SingleChildScrollView() 中。

這是我的代碼:

  class PhoneNrInput extends StatelessWidget {
  final TextEditingController phoneNrController = TextEditingController();
  final FocusNode phoneNrFocusNode = FocusNode();
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      resizeToAvoidBottomInset: true,
      body: Column(
        mainAxisAlignment: MainAxisAlignment.end,
        crossAxisAlignment: CrossAxisAlignment.center,
        children: <Widget>[
          Container(
            height: 200,
            width: double.infinity,
            decoration: BoxDecoration(
              boxShadow: [BoxShadow(color: Colors.black, blurRadius: 5)],
              color: Color(0xff05111f),
              borderRadius: BorderRadius.only(
                topLeft: Radius.circular(50),
                topRight: Radius.circular(50),
              ),
            ),
            child: Padding(
              padding: EdgeInsets.all(30),
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.center,
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  Row(
                    crossAxisAlignment: CrossAxisAlignment.center,
                    mainAxisAlignment: MainAxisAlignment.center,
                    children: <Widget>[
                      SizedBox(
                        width: 15,
                      ),
                      Flexible(
                        fit: FlexFit.tight,
                        //Textfield
                        child: TextField(
                          focusNode: phoneNrFocusNode,
                          autofocus: false,
                          autocorrect: false,
                          keyboardType: TextInputType.phone,
                          decoration: InputDecoration(
                            filled: true,
                            hintStyle: TextStyle(
                              color: Colors.black,
                            ),
                            border: UnderlineInputBorder(
                              borderSide: BorderSide(color: Colors.white),
                              borderRadius: BorderRadius.circular(25),
                            ),
                            fillColor: Colors.white,
                            hintText: "Telefonnummer",
                          ),
                          controller: phoneNrController,
                        ),
                      ),
                    ],
                  ),
                  SizedBox(
                    height: 25,
                  ),
                  ButtonTheme(
                    height: 40,
                    child: RaisedButton(
                      onPressed: () {},
                      color: Colors.white,
                      shape: RoundedRectangleBorder(
                        borderRadius: BorderRadius.circular(25),
                      ),
                      child: Text("Registrieren"),
                    ),
                  ),
                ],
              ),
            ),
          ),
        ],
      ),
    );
  }
}

如果其他人有同樣的問題:我在 android/app/src/main/res/values 文件夾中的 style.xml 文件部分包含了以下行:

<item name="android:windowFullscreen">true</item>

這導致了問題。

暫無
暫無

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

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