前言
更改用戶交互中的文本字段顏色。
預(yù)覽
當(dāng)選擇一個文本字段并接受輸入時,它被稱為具有“焦點(diǎn)”通常,用戶通過點(diǎn)擊將焦點(diǎn)轉(zhuǎn)移到文本字段,開發(fā)人員通過使用本菜譜中描述的工具以編程方式將焦點(diǎn)轉(zhuǎn)移到文本字段。
管理焦點(diǎn)是創(chuàng)建具有直觀流程的表單的基本工具。例如,假設(shè)您有一個帶有文本字段的搜索屏幕。當(dāng)用戶導(dǎo)航到搜索屏幕時,可以將焦點(diǎn)設(shè)置為搜索詞的文本字段。這允許用戶在屏幕可見時立即開始鍵入,而無需手動點(diǎn)擊文本字段。
正文
1. Focus Widget 組件
一個 Widget ,它管理一個 FocusNode,以允許將鍵盤焦點(diǎn)賦予此 Widget 及其后代。
api.flutter.dev/flutter/wid…
- 包裹 TextFormField 與 Focus Widget
2. Builder Widget 組件
一個無狀態(tài)實(shí)用工具 widget ,其構(gòu)建方法使用其構(gòu)建器回調(diào)來創(chuàng)建 widget 的子級。
api.flutter.dev/flutter/wid…
api.flutter.dev/flutter/wid…
- 它有兩個變量。
- FocusNode:
- 可由有狀態(tài) widget 用于獲取鍵盤焦點(diǎn)和處理鍵盤事件的對象。
- hasFocus:
- 此節(jié)點(diǎn)是否具有輸入焦點(diǎn)。
- 創(chuàng)建要在其中更改顏色的三元運(yùn)算符。
3. FocusScope Widget 組件
FocusScope 類似于 Focus,但也作為其后代的作用域,將焦點(diǎn)遍歷限制為作用域控件。例如,在推送路由時會自動創(chuàng)建一個新的 FocusScope,以防止焦點(diǎn)遍歷移動到前一個路由中的控件。
- 用 FocusScope widget 包裝整個列 column (文本表單字段所在的位置)。
完成了!
作者:會煮咖啡的貓
鏈接:
https://juejin.cn/post/7160869996422905893
來源:稀土掘金






