[英]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.