Flutter 焦点管理 FocusScope 组件

前言

更改用户交互中的文本字段颜色。

预览

当选择一个文本字段并接受输入时,它被称为具有“焦点”通常,用户通过点击将焦点转移到文本字段,开发人员通过使用本菜谱中描述的工具以编程方式将焦点转移到文本字段。

管理焦点是创建具有直观流程的表单的基本工具。例如,假设您有一个带有文本字段的搜索屏幕。当用户导航到搜索屏幕时,可以将焦点设置为搜索词的文本字段。这允许用户在屏幕可见时立即开始键入,而无需手动点击文本字段。

正文

1. Focus Widget 组件

一个 Widget ,它管理一个 FocusNode,以允许将键盘焦点赋予此 Widget 及其后代。

https://api.flutter.dev/flutter/widgets/FocusNode-class.html

  • 包裹 TextFormFieldFocus Widget

2. Builder Widget 组件

一个无状态实用工具 widget ,其构建方法使用其构建器回调来创建 widget 的子级。

https://api.flutter.dev/flutter/widgets/Builder/build.html

https://api.flutter.dev/flutter/widgets/Builder/builder.html

  • 它有两个变量。

    • FocusNode:

      可由有状态 widget 用于获取键盘焦点和处理键盘事件的对象。

    • hasFocus:

      此节点是否具有输入焦点。

  • 创建要在其中更改颜色的三元运算符。

3. FocusScope Widget 组件

FocusScope 类似于 Focus,但也作为其后代的作用域,将焦点遍历限制为作用域控件。例如,在推送路由时会自动创建一个新的 FocusScope,以防止焦点遍历移动到前一个路由中的控件。

  • 用 FocusScope widget 包装整个列 column (文本表单字段所在的位置)。

完成了!


如果本文对你有帮助,请转发让更多的朋友阅读。

© 猫哥

本文由mdnice多平台发布

原文地址:http://www.cnblogs.com/ducafecat/p/16846810.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性