Flutter 当键盘打开时,警报对话框中的文本字段被隐藏
我在按下按钮时创建了警报对话显示。在警报对话框中有一个文本字段,当键盘打开时,该字段将被隐藏 横向视图中的输出:Flutter 当键盘打开时,警报对话框中的文本字段被隐藏,flutter,Flutter,我在按下按钮时创建了警报对话显示。在警报对话框中有一个文本字段,当键盘打开时,该字段将被隐藏 横向视图中的输出: 类MyApp扩展了无状态小部件{ @凌驾 小部件构建(构建上下文){ 返回材料PP( 主页:_MyAppState(), ); } } 类MyAppState扩展了无状态小部件{ TextEditingController_textFieldController=TextEditingController(); _displayDialog(BuildContext上下文)异步{
类MyApp扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回材料PP(
主页:_MyAppState(),
);
}
}
类MyAppState扩展了无状态小部件{
TextEditingController_textFieldController=TextEditingController();
_displayDialog(BuildContext上下文)异步{
返回显示对话框(
上下文:上下文,
是的,
生成器:(上下文){
返回警报对话框(
标题:Text('AlertDialog with TextField'),
内容:SingleChildScrollView(
孩子:TextField(
控制器:_textFieldController,
装饰:输入装饰(
hintText:“输入文本”,
),
自动对焦:对,
),
),
行动:[
扁平按钮(
子项:文本('SUBMIT'),
已按下:(){
Navigator.of(context.pop();
},
)
],
);
});
}
@凌驾
小部件构建(构建上下文){
返回材料PP(
家:脚手架(
appBar:appBar(
标题:Text('AlertDialog with TextField'),
),
正文:中(
孩子:扁平按钮(
子:文本(
“显示警报对话”,
),
颜色:颜色。深橙色,
按下:()=>\u显示对话框(上下文),
),
),
),
);
}
}
移除SingleChildScrollView,并将文本字段包装在容器内,并保持一定高度。当您将滚动项放入警告框时,键盘打开在某些情况下可能会造成问题
showDialog(
context: context,
barrierDismissible: true,
builder: (context) {
return AlertDialog(
title: Text('AlertDialog with TextField'),
content: Container(
height: 35,
child: TextField(
controller: _textFieldController,
decoration: InputDecoration(
hintText: "ENTER A TEXT",
),
autofocus: true,
),
),
actions: <Widget>[
FlatButton(
child: Text('SUBMIT'),
onPressed: () {
Navigator.of(context).pop();
},
)
],
);
});
showDialog(
上下文:上下文,
是的,
生成器:(上下文){
返回警报对话框(
标题:Text('AlertDialog with TextField'),
内容:容器(
身高:35,
孩子:TextField(
控制器:_textFieldController,
装饰:输入装饰(
hintText:“输入文本”,
),
自动对焦:对,
),
),
行动:[
扁平按钮(
子项:文本('SUBMIT'),
已按下:(){
Navigator.of(context.pop();
},
)
],
);
});
showDialog(
context: context,
barrierDismissible: true,
builder: (context) {
return AlertDialog(
title: Text('AlertDialog with TextField'),
content: Container(
height: 35,
child: TextField(
controller: _textFieldController,
decoration: InputDecoration(
hintText: "ENTER A TEXT",
),
autofocus: true,
),
),
actions: <Widget>[
FlatButton(
child: Text('SUBMIT'),
onPressed: () {
Navigator.of(context).pop();
},
)
],
);
});