Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.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_User Interface - Fatal编程技术网

Flutter 当键盘打开时,允许通过下面的内容将小部件推出屏幕

Flutter 当键盘打开时,允许通过下面的内容将小部件推出屏幕,flutter,user-interface,Flutter,User Interface,我想做的是在屏幕顶部有一个图像小部件,然后在底部有一些输入和一个按钮,以便登录,如下所示: 然后,当用户打开键盘时,我希望输入粘在屏幕底部,由键盘向上推动,这在大型设备上很容易做到,但在小型设备上,输入击中图像并被键盘覆盖,从而导致错误,因此,我希望让图像简单地向上推离屏幕输入,但我不知道怎么做,到目前为止,我已经设法做到了: 这显然不是我想要的,因为我不希望图像缩小,我只想把它从屏幕上推下来,任何建议都将不胜感激 获取图像中显示的结果的最少代码 返回堆栈( 儿童:[ 脚手架( 正文:专栏(

我想做的是在屏幕顶部有一个图像小部件,然后在底部有一些输入和一个按钮,以便登录,如下所示:

然后,当用户打开键盘时,我希望输入粘在屏幕底部,由键盘向上推动,这在大型设备上很容易做到,但在小型设备上,输入击中图像并被键盘覆盖,从而导致错误,因此,我希望让图像简单地向上推离屏幕输入,但我不知道怎么做,到目前为止,我已经设法做到了:

这显然不是我想要的,因为我不希望图像缩小,我只想把它从屏幕上推下来,任何建议都将不胜感激

获取图像中显示的结果的最少代码

返回堆栈(
儿童:[
脚手架(
正文:专栏(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
灵活的(
子:容器(子:Image.asset('assets/temp.png',高度:115)),
),
填充物(
填充:EdgeInsets.fromLTRB(
50,0,50,键盘是否可见?10:50),
子:列(
儿童:[
TextFormField(
样式:TextStyle(fontSize:20.0),
装饰:输入装饰(
是的,
fillColor:Colors.grey[350],
hintText:'用户名',
内容填充:
来自LTRB(20.0,15.0,20.0,15.0)的边缘集,
边框:大纲输入边框(
borderSide:borderSide.none,
边界半径:边界半径。圆形(40.0),
),
),
),
尺寸箱(高度:20.0),
TextFormField(
样式:TextStyle(fontSize:20.0),
装饰:输入装饰(
是的,
fillColor:Colors.grey[350],
hintText:'密码',
内容填充:
来自LTRB(20.0,15.0,20.0,15.0)的边缘集,
边框:大纲输入边框(
borderSide:borderSide.none,
边界半径:边界半径。圆形(40.0),
),
),
),
尺寸箱(高度:20.0),
居中(
儿童:材料(
标高:5.0,
边界半径:边界半径。圆形(20),
颜色:颜色。浅绿色,
子:材质按钮(
按下:(){},
子:文本(
“登录”,
样式:TextStyle(
颜色:颜色,白色,
fontWeight:fontWeight.bold,
字体大小:20.0,
),
),
),
),
),
],
),
),
],
),
),
],
);
编辑:所以我已经玩了一段时间了,我已经设法走得更远了,但现在我已经有了以下代码:

返回堆栈(
儿童:[
脚手架(
正文:SingleChildScrollView(
子:容器(
高度:MediaQuery.of(上下文).size.height-
MediaQuery.of(context).viewInsets.bottom,//屏幕高度减去键盘高度,但有趣的是,如果我只执行MediaQuery.of(context).size.height,我不会出错,所以它几乎可以正常工作
子:列(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
居中(
子项:Image.asset('assets/temp.png',高度:115),
),
填充物(
填充:EdgeInsets.fromLTRB(
50,0,50,键盘是否可见?10:50),
子:列(
儿童:[
TextFormField(
样式:TextStyle(fontSize:20.0),
装饰:输入装饰(
是的,
fillColor:Colors.grey[350],
hintText:'用户名',
contentPadding:EdgeInsets.fromLTRB(
20.0, 15.0, 20.0, 15.0),
边框:大纲输入边框(
borderSide:borderSide.none,
边界半径:边界半径。圆形(40.0),
),
),
),
尺寸箱(高度:20.0),
TextFormField(
样式:TextStyle(fontSize:20.0),
装饰:输入装饰(
是的,
fillColor:Colors.grey[350],
hintText:'密码',
contentPadding:EdgeInsets.fromLTRB(
20.0, 15.0, 20.0, 15.0),
边框:大纲输入边框(
borderSide:borderSide.none,
边界半径:边界半径。圆形(40.0),
),
),
),
尺寸箱(高度:20.0),
居中(
儿童:材料(
标高:5.0,
边界半径:边界半径。圆形(20),
颜色:颜色。浅绿色,
子:材质按钮(
按下:(){},
儿童:
Scaffold(
      body: SingleChildScrollView(child:Column(