这是我的代码:
build(BuildContext context) {
return new Scaffold(
body: new SafeArea(
child: new ListView.builder(
itemBuilder: (itemBuilder),
itemCount: (1),
padding: kMaterialListPadding,
),
)
);
}
itemBuilder(BuildContext context, int index) {
return new TextFormField(
decoration: new InputDecoration(
border: const OutlineInputBorder(),
hintText: "What's on your mind?",
helperText: "5-500 characters",
),
maxLines: 3,
);
}
当我点击文本字段时,键盘打开,但键盘顶部出现大量空白,如图所示(文本字段的边框被剪切)。
这是因为ListView。如果我只在正文中添加文本字段,外观就没问题。
3条答案
按热度按时间yquaqz181#
之所以会浪费这么多空间,是因为一个脚手架里面有一个脚手架。每个脚手架增加了键盘的空间。删除一个解决了问题。
1rhkuytd2#
脚手架具有属性resizeToAvoidBottomPadding。将此属性设置为false
qyzbxkaa3#
对于那些在关闭键盘后看到白色的人来说,这可能是由MediaQuery引起的,在我的例子中,我在基本脚手架周围使用MediaQuery来解决在抽屉内使用RangeSlider的问题(使用RangeSlider将显示关闭抽屉的行为,而不改变滑块的值),我使用了这个:
但这会导致我们在关闭键盘后看到的白色,也会导致当您在窗体上打开键盘时,屏幕不再滚动。
所以我只在我使用抽屉的脚手架上添加媒体查询解决方案...
仅供参考,对于那些使用Getx的人,我使用它与底部应用程序栏,我们用途:
然后在主选项卡之后,使用另一个脚手架(我在这个脚手架上使用了MediaQuery)