当显示键盘时,所有内容都会被推起,并且出现错误

2023-12-20

我有以下代码:



    class _MyHomePageState extends State {
      @override
      Widget build(BuildContext context) {
        // This method is rerun every time setState is called, for instance as done
        // by the _incrementCounter method above.
        //
        // The Flutter framework has been optimized to make rerunning build methods
        // fast, so that you can just rebuild anything that needs updating rather
        // than having to individually change instances of widgets.
        return new Scaffold(
            body: new Column(
          children: [
            new Container(
              color: JBTheme.colorGreenBrand,
              height: 130.0,
              alignment: Alignment.bottomLeft,
              child: new Center(
                child: new Align(
                  alignment: Alignment.bottomCenter,
                  child: new Container(
                    color: JBTheme.colorOrange,
                    constraints: new BoxConstraints(maxWidth: 270.0),
                    child: new Row(
                      mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                      children: [
                        new Column(
                          mainAxisSize: MainAxisSize.min,
                          mainAxisAlignment: MainAxisAlignment.center,
                          children: [
                            new Image.asset("flags/flag_dk.png"),
                            new Container(
                              margin: const EdgeInsets.only(top: 4.0, bottom: 4.0),
                              child: new Text("Danmark"),
                            ),
                            new Text("DKK")
                          ],
                        ),
                        new Expanded(child: new Image.asset("images/arrow.png")),
                        new Column(
                          mainAxisSize: MainAxisSize.min,
                          mainAxisAlignment: MainAxisAlignment.center,
                          children: [
                            new Image.asset("flags/flag_us.png"),
                            new Container(
                              margin: const EdgeInsets.only(top: 4.0, bottom: 4.0),
                              child: new Text("USA"),
                            ),
                            new Text("USD")
                          ],
                        )
                      ],
                    ),
                  ),
                ),
              ),
            ),
            new Expanded(
                child: new Container(
              color: JBTheme.colorGreyMedium,
              child: new Column(
                children: [
                  new Expanded(child: new Container()),
                  new Padding(
                      padding: const EdgeInsets.only(bottom: 8.0),
                    child: new Card(
                      elevation: -8.0,
                      shape: RoundedRectangleBorder(
                        borderRadius: BorderRadius.circular(15.0),
                      ),
                      child: new Container(
                          width: 200.0,
                          height: 30.0,
                          color: JBTheme.colorWhite,
                          child: new Stack(
                            children: [
                              new TextField(
                                  textAlign: TextAlign.center
                              )
                            ],
                          )
                      ),
                    )
                  )
                ],
              ),
            )),
            new Container(
              height: 260.0,
              color: JBTheme.colorGreenMint,
            )
          ],
        ));
      }
    }

And it looks like this: no keyboard

But when I click the TextField and the keyboard opens I get this: enter image description here

我没想到我的所有布局都会向上移动整个键盘高度,我希望它只向上移动足够的距离,以便聚焦的 TextField 可见(并且不会给出错误)。我该如何解决这个问题,为什么会发生这种情况?

谢谢
Søren


two这个问题的解决方案。

  1. Add resizeToAvoidBottomPadding: false到你的脚手架

    Scaffold(
     resizeToAvoidBottomPadding: false,
    body: ...)
    
  2. 把你的Scaffold body在可滚动视图(如 SingleChildScrollView 或 ListView)内

    new Scaffold(
        body: SingleChildScrollView(child: //your existing body
    ...)
    

你可以找到similar问题与答案here https://stackoverflow.com/questions/51972371/bottom-overflow-by-30px/51972954#51972954

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当显示键盘时,所有内容都会被推起,并且出现错误 的相关文章

随机推荐

  • Excel VBA 尝试使用 For 循环将“MAX”公式写入具有不同范围的单元格

    我试图让 VBA 将公式写入不同的单元格 该公式将找到由某些变量决定的范围的最大值 我的变量I and J是 数字 整数 这是我的代码 Sub AddMAX Dim I As Integer Dim J As Integer Dim L A
  • Java:长格式的 util.Date 对象

    如何返回具有长值的 Date 对象 就像是 JsonProperty time public Date getTimeInLong Date date super getTime return date getTime I want thi
  • 运行 Apache 时,Django 打开 SQLite3 db 文件时出错

    我收到这个错误 操作错误 无法打开数据库文件 到目前为止我尝试过的事情是在 settings py 中设置 dev db 文件的绝对路径 我尝试将 www data 添加到我的管理组 并将项目文件夹的组设置为 admin 并将该组设置为 w
  • 将字符串列表从 Python 传递到 Rust

    我已经学习 Rust 大约两周了 今天 我进入了它的 FFI 我使用 Python 来玩 Rust 使用 ctypes 和 libc 我传递了整数 字符串 甚至学会了传递整数列表 感谢这个精彩的答案 https stackoverflow
  • Sqlite 与基于文件的数据存储?

    假设我有一个类似的课程 如下所示 class User attr accessor name age def initialize name age name age name age end end 现在 将用户保存为单个文件中 User
  • 是否可以通过单击链接/按钮来运行 php artisan 命令

    所以正如问题所说 当用户单击网络浏览器中的链接时 有没有办法在后台运行 php artisan 命令 例如 我想在我的应用程序中创建一个用于迁移迁移文件的按钮 因此当单击此按钮时 a href migrate class btn btn p
  • android 绑定到 AccessibilityService

    我创建了一个android服务 它是AccessibilityService 根据我的活动 我想绑定到该服务 没有进程间通信 所以我尝试创建一个本地Binder仅返回服务的实现 如本例所示http developer android com
  • 在webapp中获取当前的svn版本

    在 java web 应用程序中显示 使用修订号的最佳方式是什么 我们只使用 ant 来构建我们的 war 存档 没有构建服务器之类的 我希望有某种 if ref 可以写入资源文件中 但这仅在提交相关文件时更新 我在全球范围内都需要它 你会
  • 如何搜索包含 JSON 数组的 SQL 列

    我有一个包含单个 JSON 数组的 SQL 列 names Joe Fred Sue 给定一个搜索字符串 如何使用 SQL 在名称数组中搜索匹配项 我正在使用 SQL 2016 并查看了 JSON QUERY 但不知道如何在 JSON 数组
  • 嵌套 For 循环转换为嵌套 Promise

    我遇到了一个问题 我的程序仅在一次迭代时结束nameList 而且我不太确定不合逻辑的代码在哪里 全局给出 var require underscore var nameList Bob Susie var jsonDict 我复杂的嵌套从
  • Sublime Text 2 的 Goto Anything 中的这些数字是什么

    我已经用谷歌搜索了很多 但不幸的是 当你Ctrl P Goto Anything 在 Sublime Text 2 中 Ideas 据传闻 指示您的输入描述该文件的可能性有多大 随着比赛质量的提高而提高 在屏幕截图中输入 应用程序 应该会产
  • SQLSTATE[22003]:数值超出范围:1264 超出范围值

    我的 WAMP 服务器的十进制是十进制 5 2 我的查询异常 SQLSTATE 22003 数值超出范围 1264 第 1 行的列 converted 1000ml 的值超出范围 SQL 插入inventory databanks prod
  • Pycharm代码重新格式化:按运算符对齐行

    在 Jetbrains Pycharm 专业版 2016 1 中 是否有一种方法 内置或第三方 修改 python 中的代码样式以通过运算符 特别是赋值运算符 对齐连续行 例如 我想 var1 5 variable2 10 varbl3 1
  • utf8_bin 与 utf_unicode_ci

    我的餐桌网站 Website Name column name Google Facebook Twitter Orkut Frype Skype Yahoo Wikipedia 我使用 utf8 bin 排序规则 然后我在网站中搜索维基百
  • PHP 内置服务器和 .htaccess mod 重写

    PHP 的内置服务器不使用 htaccess 吗 我认为这是有道理的 因为它不依赖 Apache 不管怎样 是否可以告诉服务器使用这些文件 它可以处理 URL 重写吗 我的框架中有一些依赖这些文件的项目 APPLICATION ENV de
  • Python 类方法中类似 C 的静态变量

    经过 20 年的 C 经验之后 我正在努力学习 Python 现在我想要一个方法 类内的函数 它有自己的 静态 变量 而不是静态变量class多变的 也许伪代码示例可以更好地说明我想要的东西 class dummy staticmethod
  • 在 Sencha Touch 2.2.1 中运行应用程序示例时出现 JavaScript 错误

    我开始在 Windows 8 上使用最新的 Sencha Touch 2 2 1 开发移动应用程序 我做了以下步骤http docs sencha com touch 2 2 1 guide getting started http doc
  • ObjectDataSource 找不到非泛型方法

    我有这个 ASP NET 代码
  • 如何限制 NSTextField 文本长度并始终保持大写?

    需要有一个 NSTextField 其文本限制最多为 4 个字符 并且始终以大写形式显示 但无法找到实现这一目标的好方法 我尝试通过与验证方法的绑定来完成此操作 但只有当控件失去第一响应者时才会调用验证 这不好 我暂时通过观察文本字段上的通
  • 当显示键盘时,所有内容都会被推起,并且出现错误

    我有以下代码 class MyHomePageState extends State override Widget build BuildContext context This method is rerun every time se