Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 当键盘打开时,警报对话框中的文本字段被隐藏_Flutter - Fatal编程技术网

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();
                },
              )
            ],
          );
        });