Pomocnik skrótów klawiszowych umożliwia użytkownikom odkrywanie skrótów klawiszowych na platformie i otwieranie aplikacji. Opublikuj skróty aplikacji w Pomocniku skrótów klawiszowych, aby zwiększyć produktywność użytkowników i ułatwić im korzystanie z aplikacji.
Użytkownicy naciskają Meta+/, aby otworzyć ekran skrótów klawiszowych, który jest dostępny w Androidzie 7.0 (interfejs API na poziomie 24) i nowszym.
Udostępnianie skrótów w Pomocniku skrótów klawiszowych
Możesz udostępnić listy dostępnych skrótów klawiszowych w
Pomocniku skrótów klawiszowych, zastępując
onProvideKeyboardShortcuts() wywołanie zwrotne okna.
Poniższy fragment kodu pokazuje implementację onProvideKeyboardShortcuts() umożliwiającą dodanie grupy 4 skrótów:
class MainActivity : ComponentActivity() { // Activity codes such as overridden onStart method. override fun onProvideKeyboardShortcuts( data: MutableList<KeyboardShortcutGroup>?, menu: Menu?, deviceId: Int ) { val shortcutGroup = KeyboardShortcutGroup( "Cursor movement", listOf( KeyboardShortcutInfo("Up", KeyEvent.KEYCODE_P, KeyEvent.META_CTRL_ON), KeyboardShortcutInfo("Down", KeyEvent.KEYCODE_N, KeyEvent.META_CTRL_ON), KeyboardShortcutInfo("Forward", KeyEvent.KEYCODE_F, KeyEvent.META_CTRL_ON), KeyboardShortcutInfo("Backward", KeyEvent.KEYCODE_B, KeyEvent.META_CTRL_ON), ) ) data?.add(shortcutGroup) } }
KeyboardShortcutInfo opisuje skrót klawiszowy.
Lista skrótów klawiszowych jest opakowana jako obiekt
KeyboardShortcutGroup.
Aplikacje powiadamiają Pomocnika skrótów klawiszowych o dostępnych skrótach klawiszowych, dodając obiekty KeyboardShortcutGroup do listy modyfikowalnej przekazywanej jako pierwszy parametr metody.
Porządkowanie skrótów klawiszowych za pomocą grup
Pomocnik skrótów klawiszowych wyświetla skróty klawiszowe w osobnych grupach dzięki czemu użytkownicy mogą znajdować skróty według przypadku użycia lub ekranów aplikacji. Rysunek 2 przedstawia skróty klawiszowe podzielone na 2 grupy: ruch kursora i edytowanie wiadomości.
Aplikacja rejestruje co najmniej 2 grupy skrótów klawiszowych, tworząc obiekt KeyboardShortcutGroup dla każdej grupy.
W poniższym fragmencie kodu do listy modyfikowalnej przekazywanej do metody onProvideKeyboardShortcuts() dodawane są 2 obiekty KeyboardShortCutGroup.
Obiekty są wyświetlane jako kategorie w Pomocniku skrótów klawiszowych, jak
pokazano na rysunku 2.
override fun onProvideKeyboardShortcuts( data: MutableList<KeyboardShortcutGroup>?, menu: Menu?, deviceId: Int ) { val cursorMovement = KeyboardShortcutGroup( "Cursor movement", listOf( KeyboardShortcutInfo("Up", KeyEvent.KEYCODE_P, KeyEvent.META_CTRL_ON), KeyboardShortcutInfo("Down", KeyEvent.KEYCODE_N, KeyEvent.META_CTRL_ON), KeyboardShortcutInfo("Forward", KeyEvent.KEYCODE_F, KeyEvent.META_CTRL_ON), KeyboardShortcutInfo("Backward", KeyEvent.KEYCODE_B, KeyEvent.META_CTRL_ON), ) ) val messageEdit = KeyboardShortcutGroup( "Message editing", listOf( KeyboardShortcutInfo("Select All", KeyEvent.KEYCODE_A, KeyEvent.META_CTRL_ON), KeyboardShortcutInfo( "Send a message", KeyEvent.KEYCODE_ENTER, KeyEvent.META_SHIFT_ON ) ) ) data?.add(cursorMovement) data?.add(messageEdit) }
Otwieranie Pomocnika skrótów klawiszowych z poziomu kodu
Aplikacje wyświetlają ekran skrótów klawiszowych, wywołując metodę requestShowKeyboardShortcuts(). W poniższym fragmencie kodu Pomocnik skrótów klawiszowych otwiera się, gdy użytkownicy klikną
przycisk lub naciśną klawisz Enter.
val activity = LocalActivity.current Button( onClick = { activity?.requestShowKeyboardShortcuts() } ) { Text(text = "Show keyboard shortcuts") }