我有一列展开的小部件,如下所示:
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 键盘会出现在屏幕上。这会改变屏幕大小,因此小部件会像这样调整大小:
convertFrom
有没有办法让键盘“覆盖”屏幕,这样我的列就不会调整大小?如果我不使用Expanded小部件并为每个小部件硬编码一个高度,则小部件不会调整大小,但是当键盘出现时我会收到黑白条纹错误(因为没有足够的空间)。这对于所有屏幕尺寸也不灵活。
Expanded
我不确定这是 Android 特有的还是 Flutter 特有的。
更新的答案
resizeToAvoidBottomPadding现在 已弃用 。
resizeToAvoidBottomPadding
更新的解决方案是将resizeToAvoidBottomInset属性设置为false.
resizeToAvoidBottomInset
false
原始答案
在您的Scaffold中,将resizeToAvoidBottomPadding属性设置为false.
Scaffold