嗨,我想知道是否有可能在 flutter 中以编程方式打开键盘并立即准备好光标和文本字段。
我已经知道如何拉起键盘
FocusScope.of(context).requestFocus(FocusNode());
但我还需要知道如何让文本字段准备好输入,而无需用户点击文本字段。如
假设我有一个文本字段:
TextField(
controller: textEditingController,
);
Run Code Online (Sandbox Code Playgroud)
我想使用代码实现下面的效果,以便用户不必点击文本字段
textEditingController.openTextField()//Pseudo code
Run Code Online (Sandbox Code Playgroud)
: 编辑 - - - - - - - - - - - - - - - - - -
我有点坏,但我忘了在文本字段上添加焦点节点作为参数
在您的班级中添加
最终 FocusNode _focusNode = FocusNode();
然后添加到文本字段
TextField(
...
focusNode:_focusNode,
...
);
Run Code Online (Sandbox Code Playgroud)
然后通过运行调用它
_focusNode.requestFocus();
Run Code Online (Sandbox Code Playgroud)
首先,您需要定义FocusNode变量并将其分配给您的TextField,如下所示:
//in header class
FocusNode focusNode = FocusNode ();
//in build method
TextField(focusNode: focusNode,)
Run Code Online (Sandbox Code Playgroud)
然后使用此代码:
FocusScope.of(context).requestFocus(focusNode);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
297 次 |
| 最近记录: |