zoukankan      html  css  js  c++  java
  • Flutter-監聽輸入框獲取焦點合失去焦點事件

    监听输入框

    FocusNode _focusNode = FocusNode();

    initState()

    void initState() {
        _focusNode.addListener(() {
          if (_focusNode.hasFocus) {
            setState(() {
              _focusView = true;
            });
          }else{
            setState(() {
              _focusView = false;
            });
          }
        });
        super.initState();
      }
    TextFormField添加
    focusNode: _focusNode,

     來源:https://www.uedbox.com/post/65066/

    点击任何位置关闭软键盘

    Scaffold(
    body: GestureDetector(
      onTap: () {
        FocusScope.of(context).requestFocus(new FocusNode());
      },
    child: new Container(
       //rest of your code write here
        )
     )

    从具有主要焦点的节点上删除焦点,并取消所有未完成的聚焦请求。调用requestFocus将一个请求发送到FocusManager以使该节点成为主要焦点,该节点计划以最新请求解析为树上焦点状态的更新。调用unfocus会取消已请求但尚未执行的请求。

    无论此节点是否曾经请求过焦点,都可以安全地调用此方法。

    如果声明了FocusNode聚焦文本字段,请使用unfocus:

    final focusNode = FocusNode();
    // ...
    focusNode.unfocus();
  • 相关阅读:
    从头学Android之Android布局管理:LinerLayout线性布局
    Android onTouch事件传递机制
    android开源项目和框架
    <hdu
    <hdu
    <poj
    <poj
    <hdu
    <hdu
    <hdu
  • 原文地址:https://www.cnblogs.com/ssjf/p/12565245.html
Copyright © 2011-2022 走看看