美文网首页
Flutter 移动光标 关闭弹出的键盘

Flutter 移动光标 关闭弹出的键盘

作者: emdd2016 | 来源:发表于2019-06-24 14:31 被阅读0次

移动光标

要移动光标先要将目标view关联对应的FocusNode, 然后通过FocusScope来request对应的FocusNode即可。

关闭弹出的键盘

- 如果关联了对应的FocusNode, 直接调用focusNode.unfocus()即可
- 如果没有关联, 直接用 FocusScope.of(context).requestFocus(FocusNode()); 

完成案例如下:

class FocusTestRoute extends StatefulWidget {
  @override
  _FocusTestRouteState createState() => new _FocusTestRouteState();
}

class _FocusTestRouteState extends State<FocusTestRoute> {
  FocusNode focusNodeUserName = new FocusNode();
  FocusNode focusNodePassword = new FocusNode();
  FocusScopeNode focusScopeNode;

  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: EdgeInsets.all(16.0),
      child: Column(
        children: <Widget>[
          TextField(
            autofocus: true,
            focusNode: focusNodeUserName,
            //关联focusNodeUserName
            decoration: InputDecoration(labelText: "用户名"),
            textInputAction: TextInputAction.next,
            // 设置键盘 "下一步" 按钮
            onSubmitted: (_) {
              // 点击键盘上的 "下一步" 回调
              focusNodeUserName.unfocus();
              FocusScope.of(context).requestFocus(focusNodePassword);
            },
          ),
          TextField(
            focusNode: focusNodePassword, //关联focusNodePassword
            decoration: InputDecoration(labelText: "密码"),
            textInputAction: TextInputAction.done, // 设置键盘 "完成" 按钮
            onSubmitted: (_) {
              // 点击键盘上的 "完成" 回调
              // 关闭弹出的键盘
              focusNodePassword.unfocus();
              // 如果没有关联focusnode 要关闭键盘可以用:  FocusScope.of(context).requestFocus(FocusNode());
            },
          ),
        ],
      ),
    );
  }
}

相关文章

  • Flutter 移动光标 关闭弹出的键盘

    移动光标 要移动光标先要将目标view关联对应的FocusNode, 然后通过FocusScope来request...

  • Android关于键盘相关知识

    弹出键盘和收起键盘 弹出键盘 关闭键盘 监听键盘的回车键 监听键盘弹出和收起以及键盘高度 最近开发总结(关于键盘监...

  • vim移动、定位命令与快捷键速查表(简练通俗)

    光标位置移动(方向) 注:也可用小键盘区的方向键移动光标方向,但不建议,因为离得太远了 光标位置移动(行) 光标位...

  • Android 随笔-先记录以后可扩展

    设置EditText获取焦点并弹出软键盘及手动关闭软键盘 设置EditText获取焦点并弹出软键盘 关闭软键盘 让...

  • 求键盘控制元素运动js代码

    求键盘控制元素运动js代码 使用键盘光标键移动一个元素,例如一个长方形。 向上光标键移动长方形向前移动, 向下光标...

  • vim三种模式

    1、命令模式 光标移动光标移动到首行:shift+6 (T字母上的6,不要按小键盘的6)光标移动到行尾:shift...

  • 开发杂记

    做键盘弹出时,大致在一个activity的fragment中弹出键盘,布局有变化。导致键盘弹出和关闭时黑色的背景漏...

  • EditText使用总结

    获取光标位置 在光标处插入字符 删除光标前字符 选中文字 点击EditText获取焦点显示光标且不弹出软键盘 处理...

  • flutter_webview 键盘弹出问题

    Flutter_Webview 键盘弹出问题 webview_flutter ^0.3.7+1 pub链接 web...

  • [Flutter]隐藏键盘

    日常使用TextField时候,弹出来的键盘如果是按钮提交有时候会出现键盘不自动隐藏关闭的情况,可以触发关闭弹出来...

网友评论

      本文标题:Flutter 移动光标 关闭弹出的键盘

      本文链接:https://www.haomeiwen.com/subject/odtoqctx.html