Asystent skrótów klawiszowych umożliwia użytkownikom poznanie skrótów klawiszowych platformy i otwieranie aplikacji. Opublikuj skróty do aplikacji w pomocniku skrótów klawiszowych, aby zwiększyć produktywność użytkowników i ułatwić korzystanie z nich.
Użytkownicy mogą nacisnąć Meta+/, aby otworzyć ekran skrótów klawiszowych, który jest dostępny na Androidzie 7.0 (poziom interfejsu API 24) i nowszych wersjach.
Podawanie skrótów do Asystenta skrótów klawiszowych
Możesz udostępnić listę dostępnych skrótów klawiszowych do pomocnika skrótów klawiszowych, zastępując wywołanie zwrotne w oknie onProvideKeyboardShortcuts()
.
Ten fragment kodu pokazuje implementację onProvideKeyboardShortcuts()
w celu dodania 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 ma postać obiektu KeyboardShortcutGroup
.
Aplikacje powiadamiają o dostępnych skrótach klawiszowych do Asystenta skrótów klawiszowych, dodając obiekty KeyboardShortcutGroup
do listy zmiennych, która jest przekazywana jako pierwszy parametr metody.
Organizowanie skrótów klawiszowych za pomocą grup
Asystent skrótów klawiszowych wyświetla skróty klawiszowe w osobnych grupach, dzięki czemu użytkownicy mogą je odnaleźć według przypadku użycia lub na różnych ekranach 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 dla każdej z nich obiekt KeyboardShortcutGroup
.
W podanym niżej fragmencie kodu do listy zmiennych przekazanej do metody onProvideKeyboardShortcuts()
dodano 2 obiekty KeyboardShortCutGroup
.
Obiekty są wyświetlane w Pomocy skrótów klawiszowych jako kategorie, tak jak 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)
}
Otwórz Asystenta skrótów klawiszowych z poziomu kodu
Aplikacje wyświetlają ekran skrótów klawiszowych przez wywołanie metody requestShowKeyboardShortcuts()
.
W tym fragmencie aplikacji Skróty klawiszowe otwiera się, gdy użytkownicy klikają przycisk lub naciskają Enter.
val activity = LocalContext.current as Activity
Button(onClick = { activity.requestShowKeyboardShortcuts() }) {
Text(text = "Show keyboard shortcuts")
}