日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(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

欄目分類
最近更新