我一直在处理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();
}
}
在按下文本字段之前
按下文本字段后
答案 0 :(得分:3)
脚手架可以适当地处理此问题:
Myvenv exists
在极少数情况下,它不起作用,但是应该加以解决。