题记
—— 执剑天涯,从你的点滴积累开始,所及之处,必精益求精。

重要消息【视频教程 感兴趣的伙伴可以瞅瞅】


在Flutter使用FocusNode来捕捉监听TextField的焦点获取与失去,同时也可通过FocusNode来使用绑定对应的TextField获取焦点与失去焦点,FocusNode的使用分四步,如下:

第一步创建FocusNode,代码如下:

//创建FocusNode对象实例FocusNode focusNode = FocusNode();

第二步初始化函数中添加焦点监听,代码如下:

/// 输入框焦点事件的捕捉与监听
@override
void initState() {super.initState();//添加listener监听//对应的TextField失去或者获取焦点都会回调此监听focusNode.addListener((){if (focusNode.hasFocus) {print('得到焦点');}else{print('失去焦点');}});}

第三步在TextField中引用FocusNode,代码如下:

new TextField(//引用FocusNodefocusNode: focusNode,
),

第四步在页面Widget销毁时,释放focusNode,代码如下:

//页面销毁
@override
void dispose() {super.dispose();//释放focusNode.dispose();
}

在项目开发中,关于focusNode的常用方法代码如下:

//获取焦点
void getFocusFunction(BuildContext context){FocusScope.of(context).requestFocus(focusNode);
}//失去焦点
void unFocusFunction(){focusNode.unfocus();
}//隐藏键盘而不丢失文本字段焦点:
void hideKeyBoard(){SystemChannels.textInput.invokeMethod('TextInput.hide');
}

在实际项目中的一个用户操作习惯就是当输入键盘是弹出状态时,用户点击屏幕的空白处,键盘要隐藏,处理实现思路就是在MaterialApp组件中的第一个根布局设置一上手势兼听,然后在手势兼听中处理隐藏键盘的功能,代码如下:

  /// 全局点击空白处理隐藏键盘Widget buildMainBody(BuildContext context) {return GestureDetector(onTap: () {//隐藏键盘SystemChannels.textInput.invokeMethod('TextInput.hide');},child: ... ... 省略);}

完毕 【视频教程 感兴趣的伙伴可以瞅瞅】

Flutter FocusNode输入框焦点控制概述相关推荐

  1. Flutter文本输入框TextField的焦点控制

    题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精. github? 你可能需要 百度同步 CSDN 网易云课堂教程 掘金 知乎 Flutter系列文章 头条同步 本文章首发于微信公众号( ...

  2. flutter TextField 输入框被软键盘挡住的解决方案

    flutter TextField 输入框被软键盘挡住的解决方案 参考文章: (1)flutter TextField 输入框被软键盘挡住的解决方案 (2)https://www.cnblogs.co ...

  3. Flutter文本输入框TextField控制器TextEditingController,TextField预设内容,获取TextField中的输入内容,兼听TextField中的内容变化

    题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精. github? 你可能需要 百度同步 CSDN 网易云课堂教程 掘金 知乎 Flutter系列文章 头条同步 本文章首发于微信公众号( ...

  4. flutter TextField 输入框组件

    TextField 顾名思义文本输入框,类似于iOS中的UITextField和Android中的EditText和Web中的TextInput.主要是为用户提供输入文本提供方便.相信大家在原生客户端 ...

  5. Flutter文本输入框TextField属性(InputDecoration、textInputAction、inputFormatters等等)详解

    文章目录 TextField TextField decoration keyboardType TextField textInputAction TextField onChanged TextF ...

  6. Flutter PageView 使用详细概述

    优美的应用体验 来自于细节的处理,更源自于码农的自我要求与努力,当然也需要码农年轻灵活的思维,不局限于思维,不局限语言限制,才是编程的最高境界. 本文章讲述 Flutter 跨平台开发中 PageVi ...

  7. Flutter文本输入框-TextField

    TextField 文本输入框,类似Android中的EditText TextField(cursorColor: Colors.blue,cursorHeight: 15,cursorRadius ...

  8. Flutter TextField输入框属性详解

    Material 组件库中提供了输入框组件TextField和表单组件Form.下面我们分别介绍一下. 1.TextField TextField 用于文本输入,它提供了很多属性,我们先简单的介绍一下 ...

  9. Flutter AlertDialog弹框的基本使用、Flutter showDialog方法使用概述

    优美的应用体验 来自于细节的处理,更源自于码农的自我要求与努力,当然也需要码农年轻灵活的思维,不局限于思维,不局限语言限制,才是编程的最高境界. 在Flutter中使用 AlertDialog 来构建 ...

最新文章

  1. php foreach 循环 判断index 小于多少_PHP设计模式之迭代器模式 - 硬核项目经理
  2. 多数元素—leetcode169
  3. 解决firebug报“illegal character错误的问题
  4. JAVA显示子类num值_JavaSE8基础 子类中的成员变量与父类重名 简单示例
  5. Eclipse导入android项目包xml报错
  6. C语言:采用交互式方式打开指定的文件,若文件打开成功,则显示该文件的大小,并显示文件内容,若文件打开失败,则提示出错信息
  7. Acrobat Pro DC 教程,如何使用文本和图片文件创建 PDF?
  8. Linux性能优化(九)——Kernel Bypass
  9. 欧瑞变频器800参数设置_欧瑞变频器E800说明书(中文)2014080504A(2014.08.05).pdf
  10. 设计总结:进销存业务流程设计
  11. pc自建服务器传输3ds,新3DS自带的PC管理MicroSD 最强无线传输软件
  12. Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift全文翻译
  13. Excel 2010 SQL应用078 DATEPART函数与TRANSFROM函数
  14. matlab电解电容在哪,基于MATLAB的电容器直流局部放电检测.pdf
  15. Latex公式内行间距,字体大小控制
  16. 迷宫寻径--试探回溯法
  17. 【语音之家】AI产业沙龙—语音技术在贝壳的应用
  18. 你不曾见过的酷炫地图可视化作品(二)
  19. 全球及中国半导体行业发展方向及项目投资建设分析报告2022-2028年版
  20. 存储器及虚拟存储器技术

热门文章

  1. ECCV 2020 Oral | BorderDet : 用边界特征做检测
  2. StyleGAN进化过程详解
  3. 2020顶会指南:征稿截止时间、举办地、举办时间一览
  4. linux3.3内核去哪下载,Linux Kernel下载|Linux Kernel v3.18.3 稳定版 - 121下载站
  5. 8 个Python技巧 每天工作效率高一点 升职快人一步
  6. 如何搭建一套完整的深度学习系统?
  7. 笔记 | 《机器学习》中计算学习理论(上)
  8. 学习 | 雷军 1994 年写的代码,不服不行
  9. 计算机专业必备电子书单
  10. 构思解决问题的一般范式