首頁 > 軟體

Flutter Widget開發Shortcuts快捷鍵範例

2022-12-09 14:03:53

正文

Flutter所提供的鍵盤快捷鍵系統直接用就很棒了,而且還提供了大量的空間可根據自己的喜好設定操作,之前那一篇部落格介紹了小部件Focus

它會指示Flutter以你的應用來包裹鍵盤事件,以尋找匹配的Shortcuts小部件,這便會帶入Shortcuts小部件。

ShortcutActivators到Intents的對映

上一篇部落格,我們以Accordion屬性所假想的小部件樹,挑個你想用來觀察按鍵事件的小部件並以Shortcuts小部件來包裝,為了讓你的Shortcuts小部件發揮實際作用,給shortcuts引數提供一個ShortcutActivators到Intents的對映

Accordion(
    child: Shortcuts(
        shortcuts:<ShortcutActivator, Intent>{},
        child: AccordionSections(),
    ),
)

ShortcutActivators是一個輔助類,用於捕獲特定的鍵盤組合並帶有可選的metaKey屬性修改器。

想要捕獲Control + C ?

建立一個SingleActivator,提供要監控的按鍵來作為位置引數,而就本例子而言是C鍵——並將control設定為true

SingleActivator(
    LogicalKeyboardKey.keyC,
    control: true,
)

把這個activator當作一個鍵值放在你的Shortcuts小部件中,並將其與Intent配對

final controlC = SingleActivator(
    LogicalKeyboardKey.keyC,
    control: true,
)
Accordion(
    child: Shortcusts(
        shortcuts: {
            controlC: CopyIntent(),
        },
        child: AccordionSections(),
    ),
)

Intents是你所指定的各種類,是基於intent類所構建的擴充套件,並描述了使用者所期望的結果

class CopyIntent extends Intent {
}

Flutter根據你的activator來檢視按鍵事件,一旦發現匹配你所指定的intent將返回作用中 FocusNode,以便自行搜尋來實現使用者的intent。

這就牽涉到下一個要介紹的小部件Action。

如果想了解有關Shortcuts的內容,或者關於Flutter的其他功能,請存取flutter.dev

以上就是Flutter Widget開發Shortcuts快捷鍵範例的詳細內容,更多關於Flutter Widget Shortcuts快捷鍵的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com