我一直在处理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,
在极少数情况下,它不起作用,但是应该加以解决。