小编典典

当键盘出现时,Flutter 小部件会调整大小。如何防止这种情况?

all

我有一列展开的小部件,如下所示:

 return new Container(
      child: new Column(
        crossAxisAlignment: CrossAxisAlignment.stretch,
        children: <Widget>[
          new Expanded(
            flex: 1,
            child: convertFrom,
          ),
          new Expanded(
            flex: 1,
            child: convertTo,
          ),
          new Expanded(
            flex: 1,
            child: description,
          ),
        ],
      ),
    );

它看起来像这样:

在此处输入图像描述

convertFrom, 包括一个 TextField。当我点击此文本字段时,Android
键盘会出现在屏幕上。这会改变屏幕大小,因此小部件会像这样调整大小:

在此处输入图像描述

有没有办法让键盘“覆盖”屏幕,这样我的列就不会调整大小?如果我不使用Expanded小部件并为每个小部件硬编码一个高度,则小部件不会调整大小,但是当键盘出现时我会收到黑白条纹错误(因为没有足够的空间)。这对于所有屏幕尺寸也不灵活。

我不确定这是 Android 特有的还是 Flutter 特有的。


阅读 71

收藏
2022-06-16

共1个答案

小编典典

更新的答案

resizeToAvoidBottomPadding现在 已弃用

更新的解决方案是将resizeToAvoidBottomInset属性设置为false.


原始答案

在您的Scaffold中,将resizeToAvoidBottomPadding属性设置为false.

2022-06-16