我正在使用颤振。在我使用的脚手架主体中
Overlay.of(context).insert(...)
Run Code Online (Sandbox Code Playgroud)
插入登录对话框。
但是,当我尝试选择用户名/密码字段时,没有显示键盘。
当我在“普通”树中使用登录小部件时,它可以工作。将其移动到覆盖层中会使键盘不显示。
我在这里错过了什么吗?这不应该有效吗?
小智 5
您需要将小部件包装在 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);
Run Code Online (Sandbox Code Playgroud)
事实上,对于登录页面,我只需使用导航器将其推入即可。
| 归档时间: |
|
| 查看次数: |
1386 次 |
| 最近记录: |