Pomoc dotycząca skrótów klawiszowych umożliwia użytkownikom odkrywanie skrótów klawiszowych na platformie i w otwartych aplikacjach. Opublikuj skróty aplikacji w pomocy dotyczącej 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 na Androidzie 7.0 (interfejs API na poziomie 24) i nowszych wersjach.
Udostępnianie skrótów do panelu skrótów klawiszowych
Możesz udostępnić listy dostępnych skrótów klawiszowych w pomocy dotyczącej skrótów klawiszowych, zastępując wywołanie zwrotne okna onProvideKeyboardShortcuts().
Poniższy fragment kodu pokazuje implementację onProvideKeyboardShortcuts(), która dodaje grupę 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 zmiennej listy przekazywanej jako pierwszy parametr metody.
Porządkowanie skrótów klawiszowych za pomocą grup
Pomoc dotycząca skrótów klawiszowych wyświetla skróty klawiszowe w osobnych grupach, dzięki czemu użytkownicy mogą je znaleźć według przypadku użycia lub ekranu 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 tym fragmencie kodu do listy zmiennej przekazanej 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 pomocy dotyczącej skrótów klawiszowych z poziomu kodu
Aplikacje wyświetlają ekran skrótów klawiszowych, wywołując metodę requestShowKeyboardShortcuts(). W tym fragmencie kodu panel pomocy dotyczącej skrótów klawiszowych otwiera się, gdy użytkownik kliknie przycisk lub naciśnie klawisz Enter.
val activity = LocalActivity.current Button( onClick = { activity?.requestShowKeyboardShortcuts() } ) { Text(text = "Show keyboard shortcuts") }