键盘将TextFields推离屏幕
问题内容:
我一直在处理Flutter中的一种奇怪情况,但我无法弄清
。
问题是,当我尝试在任何类型的可
滚动小部件中使用任何类型的TextField 时,当我点击TextField以使键盘弹出时,
键盘会将TextField推离屏幕。脚手架中的所有内容
都是空白。
我不能确切地说出发生了什么,但有时似乎
键盘似乎将可滚动视图的内容向上推过视图,但
有时似乎只是
在顶部附加了一个巨大的白框。覆盖上下文的键盘。我已经进行了几次实验,
但无法确定确切的行为。
为了清楚起见,我尝试使用SingleChildScrollView和ListView。该
行为是相同的。
我已经通读了整个线程,并尝试了未
成功的解决方法:https : //github.com/flutter/flutter/issues/10826
我也尝试过使用以下解决方法:https :
//gist.github.com/collinjackson/50172e3547e959cba77e2938f2fe5ff5
但是,我不确定我是否遇到与这些
线程完全相同的问题。
这是演示此问题的代码片段和一些屏幕截图。上午
我只是做一些公然错了吗?
class MakeEntryView extends StatefulWidget {
@override
State<StatefulWidget> createState() => new MakeEntryState();
}
class MakeEntryState extends State<MakeEntryView> {
@override
Widget build(BuildContext context) {
return new Scaffold(
body: new SingleChildScrollView(
child: new Container(
child: new Column(
children: <Widget>[
new TextField(),
new TextField(),
new TextField(),
new TextField(),
new TextField(),
new TextField(),
new TextField(),
],
),
),
)
);
}
@override
void initState() {
super.initState();
}
@override
void dispose() {
super.dispose();
}
}
问题答案:
脚手架可以适当地处理此问题:
Scaffold(
resizeToAvoidBottomPadding: false,
在极少数情况下,它不起作用,但是应该加以解决。