问题描述
编辑:
我收到报告,这是When the keyboard appears, the Flutter widgets resize. How to prevent this?的副本。虽然这是相关的,但它是一个不同的问题。我希望键盘与UI重叠,直到它到达具有焦点的Textfield。这是Android上的默认行为
原创:
我是一名Android开发人员,刚刚开始使用Ffltter。我想创建一个登录屏幕。我想要一个图像在TextField
的上方。所以我想,我使用Stack
将图像放在背景上,使用一些TextField
在下面。
问题是,只要键盘一出现,它就会将所有内容推上来。在Android上,键盘通常只在必要时才会向上推,而且只会一直推到EditText
。
我尝试将resizeToAvoidBottomPadding
设置为FALSE,但(当然)什么都没有移动,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
时遇到此问题,并通过在Scaffold()
中设置resizeToAvoidBottomInset: false
修复了此问题。
resizeToAvoidBottomPadding
现在已弃用。
使用resizeToAvoidBottomInset
。