flutter - 键盘向上插入内容/调整屏幕大小

编辑:

我收到报告说这是 When the keyboard appears, the Flutter widgets resize. How to prevent this? 的副本.虽然这是相关的,但这是一个不同的问题。我希望键盘与 UI 重叠,直到它到达具有焦点的 TextField。这是 Android 上的默认行为

原文:

我是一名 Android 开发人员,刚开始使用 Flutter。我想创建一个登录屏幕。我想要 TextField 上方的图像。所以我想,我使用 Stack 将图像放在背景上,并在下面放置一些 TextField

问题在于,键盘一出现,就会将所有内容向上推。在 Android 上,通常键盘仅在必要时才会向上推,直到到达 EditText

我尝试将 resizeToAvoidBottomPadding 设置为 false,但随后没有任何 Action (当然)并且 TextField 被键盘覆盖。

我记得以前玩过 iOS,这是默认行为,也许我应该重新考虑我的布局?

目前,我将它包装在 ListView 中,以便用户能够在键盘出现时滚动。

这是我的布局(仅用于测试)

@override
Widget build(BuildContext context) {
  this.context = context;
  return new Scaffold(
      key: _scaffoldKey,
      body: new Stack(
          children: <Widget>[loginImage(), new Column(
        crossAxisAlignment: CrossAxisAlignment.center,
        mainAxisAlignment: MainAxisAlignment.end,
        children: <Widget>[new TextField(), new TextField(),
        new TextField(), new TextField(),
        new TextField(), new TextField()],
      )])
  );
}

:

最佳答案

我在 CupertinoTextField() 中设置 autoFocus: true 时遇到了这个问题,并通过在 中设置 resizeToAvoidBottomInset: false 来修复它脚手架().

resizeToAvoidBottomPadding 现已弃用。

使用 resizeToAvoidBottomInset

https://stackoverflow.com/questions/49840074/

相关文章:

google-maps - Flutter:如何使用新的 Marker API 向 Google M

dart - 如何更改手机屏幕上的 flutter 应用程序名称显示?

flutter - 如何在 flutter 中检索当前的类名?

flutter - 导航器使用 pushNamed 传递参数

search - Flutter - 更改 SearchDelegate 的搜索提示文本

dart - Flutter - 通过滑动或按下 floatingActionButton 来展开

flutter - 如何在 Flutter 的文本输入字段中配置自动大写行为?

android - 如何在文本小部件 flutter 中显示 html 字符串

dart - 在 Flutter 中显示全屏图像 onTap

flutter - 如何在 flutter 中创建没有应用栏的标签栏?