Flutter Overlay和TextFields

时间:2018-05-23 19:32:56

标签: flutter

我正在使用Flutter。在脚手架体中我使用

Overlay.of(context).insert(...) 

插入登录对话框。

但是,当我尝试选择用户名/密码字段时,不会显示任何键盘。

当我在' normal'中使用登录小部件时树,它的工作原理。在叠加层中移动它会使键盘不显示。

我在这里遗漏了什么吗?难道这不能正常工作吗?

1 个答案:

答案 0 :(得分:1)

您需要将小部件包装在FocusScope中,如下所示:

      overlayEntry = OverlayEntry(builder: (context) {
        FocusScope.of(context).setFirstFocus(focusScopeNode);
        return Material(
          child: FocusScope(
            node: focusScopeNode,
            child: Padding(
              padding: const EdgeInsets.all(20.0),
              child: Column(
                children: <Widget>[
                  TextField(),
                ],
              ),
            ),
          ),
        );
      });
      Overlay.of(context).insert(overlayEntry);

实际上,对于登录页面,我只是使用导航器将其推入。