Flutter 焦点管理 FocusScope 组件

DD一下: Android进阶开发各类文档,可关注公众号<Android苦做舟>获取。

1.Android高级开发工程师必备基础技能
2.Android性能优化核心知识笔记
3.Android+音视频进阶开发面试题冲刺合集
4.Android 音视频开发入门到实战学习手册
5.Android Framework精编内核解析
6.Flutter实战进阶技术手册
7.近百个Android录播视频+音视频视频dome
.......

前言

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

预览

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

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

正文

1. Focus Widget 组件

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

api.flutter.dev/flutter/wid…

  • 包裹 TextFormFieldFocus Widget

2. Builder Widget 组件

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

api.flutter.dev/flutter/wid…

api.flutter.dev/flutter/wid…

  • 它有两个变量。

    • FocusNode:

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

    • hasFocus:

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

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

3. FocusScope Widget 组件

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

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

完成了!

作者:会煮咖啡的猫
链接:https://juejin.cn/post/7160869996422905893
来源:稀土掘金

猜你喜欢

转载自blog.csdn.net/m0_64420071/article/details/127650406