一尘不染

键盘将TextFields推离屏幕

flutter

我一直在处理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();
}

}

阅读 260

收藏
2020-08-13

共1个答案

一尘不染

脚手架可以适当地处理此问题:

Scaffold(
  resizeToAvoidBottomPadding: false,

在极少数情况下,它不起作用,但是应该加以解决。

2020-08-13