我在应用中有一些登录页面。但是,当我专注于TextFormField时,键盘覆盖字段并且看不到任何内容。作为Android开发者,
我通常会通过向清单添加android:windowSoftInputMode="adjustResize|stateHidden
来修复它。
如何在Flutter中解决它?
CODE:
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
body: ListView(
children: <Widget>[
Center(child: Image(image: AssetImage("images/uhk.jpg"))),
Form(
key: formKey,
child: Padding(
padding: EdgeInsets.only(top: 20.0, left: 30.0, right: 30.0),
child: Column(
children: <Widget>[
TextFormField(
decoration:
new InputDecoration(labelText: "Přihlašovací jméno"),
maxLines: 1,
keyboardType: TextInputType.emailAddress,
onSaved: (String value) => ""),
TextFormField(
decoration: new InputDecoration(labelText: "Heslo"),
maxLines: 1,
obscureText: true,
onSaved: (String value) => ""),
],
),
),
),
Padding(
padding: EdgeInsets.only(top: 50.0, left: 30.0, right: 30.0),
child: RaisedButton(
child: Text("Přihlásit se",
style: TextStyle(
fontSize: 16.0, color: Colors.white, height: 3.0)),
color: Colors.lightBlue,
onPressed: () => "")),
Padding(
padding: EdgeInsets.only(
top: 20.0,
),
child: Center(
child: FlatButton(
onPressed: () => "",
child: Text("Vytvořit účet",
style: TextStyle(fontSize: 14.0, color: Colors.grey)),
))),
],
),
}
答案 0 :(得分:2)
//Add this line "resizeToAvoidBottomInset: true," to your Scaffold and put your main container in ScrollView.
@override
Widget build(BuildContext context) {
return Scaffold(
resizeToAvoidBottomInset: true,
key: _scaffoldKey,
backgroundColor: Colors.white,
body: SingleChildScrollView(
child: Container()
),
);
}
答案 1 :(得分:0)
可以找到完整详细的解决方案here