網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
Flutter?Widget開(kāi)發(fā)Shortcuts快捷鍵實(shí)例_Android
作者:程序員界的小學(xué)生 ? 更新時(shí)間: 2023-01-07 編程語(yǔ)言正文
Flutter所提供的鍵盤快捷鍵系統(tǒng)直接用就很棒了,而且還提供了大量的空間可根據(jù)自己的喜好配置操作,之前那一篇博客介紹了小部件Focus
它會(huì)指示Flutter以你的應(yīng)用來(lái)包裹鍵盤事件,以尋找匹配的Shortcuts小部件,這便會(huì)帶入Shortcuts小部件。
ShortcutActivators到Intents的映射
上一篇博客,我們以Accordion屬性所假想的小部件樹(shù),挑個(gè)你想用來(lái)觀察按鍵事件的小部件并以Shortcuts小部件來(lái)包裝,為了讓你的Shortcuts小部件發(fā)揮實(shí)際作用,給shortcuts參數(shù)提供一個(gè)ShortcutActivators到Intents的映射
Accordion(
child: Shortcuts(
shortcuts:<ShortcutActivator, Intent>{},
child: AccordionSections(),
),
)
ShortcutActivators是一個(gè)輔助類,用于捕獲特定的鍵盤組合并帶有可選的metaKey屬性修改器。
想要捕獲Control + C ?
創(chuàng)建一個(gè)SingleActivator,提供要監(jiān)控的按鍵來(lái)作為位置參數(shù),而就本例子而言是C鍵——并將control設(shè)置為true
SingleActivator(
LogicalKeyboardKey.keyC,
control: true,
)
把這個(gè)activator當(dāng)作一個(gè)鍵值放在你的Shortcuts小部件中,并將其與Intent配對(duì)
final controlC = SingleActivator(
LogicalKeyboardKey.keyC,
control: true,
)
Accordion(
child: Shortcusts(
shortcuts: {
controlC: CopyIntent(),
},
child: AccordionSections(),
),
)
Intents是你所指定的各種類,是基于intent類所構(gòu)建的擴(kuò)展,并描述了用戶所期望的結(jié)果
class CopyIntent extends Intent {
}
Flutter根據(jù)你的activator來(lái)檢視按鍵事件,一旦發(fā)現(xiàn)匹配你所指定的intent將返回作用中 FocusNode,以便自行搜索來(lái)實(shí)現(xiàn)用戶的intent。
這就牽涉到下一個(gè)要介紹的小部件Action。
如果想了解有關(guān)Shortcuts的內(nèi)容,或者關(guān)于Flutter的其他功能,請(qǐng)?jiān)L問(wèn)flutter.dev
原文鏈接:https://juejin.cn/post/7170929670320291847
相關(guān)推薦
- 2022-06-16 C語(yǔ)言通過(guò)案例講解并發(fā)編程模型_C 語(yǔ)言
- 2022-09-08 Python如何將list中的string轉(zhuǎn)換為int_python
- 2022-03-23 CentOS7防火墻和端口相關(guān)命令介紹_Linux
- 2022-05-20 plotly分割顯示mnist的方法詳解_python
- 2022-11-08 PostgreSQL?limit的神奇作用詳解_PostgreSQL
- 2022-12-11 docke-cli的調(diào)試環(huán)境搭建過(guò)程_docker
- 2023-01-14 Linux命令行查看cpu(lm_sensors)和顯卡溫度(nvidia-smi)的操作方法_li
- 2022-09-16 淺析python中5個(gè)帶key的內(nèi)置函數(shù)_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支