如何以编程方式打开键盘文本字段

GIL*_*ILO 4 dart flutter

嗨,我想知道是否有可能在 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)

far*_*ama 6

首先,您需要定义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)