Hilfe für Tastenkombinationen

Mit der Hilfe für Tastenkombinationen können Nutzer Tastenkombinationen für die Plattform und geöffnete Apps finden. Veröffentlichen Sie die Tastenkombinationen Ihrer App in der Hilfe für Tastenkombinationen, um die Produktivität und Nutzerfreundlichkeit zu verbessern.

Nutzer drücken Meta+/, um den Bildschirm mit den Tastenkombinationen zu öffnen, der unter Android 7.0 (API-Level 24) und höher verfügbar ist.

Auf einem Gerät geöffnete Anwendung, die System-Tastenkombinationen anzeigt.
Abbildung 1. Hilfe zu Tastenkombinationen.

Tastenkombinationen für die Hilfe zu Tastenkombinationen bereitstellen

Du kannst dem Tastenkombinations-Assistenten Listen mit verfügbaren Tastenkombinationen zur Verfügung stellen, indem du den Fenster-Callback onProvideKeyboardShortcuts() überschreibst. Das folgende Snippet zeigt eine Implementierung von onProvideKeyboardShortcuts(), um eine Gruppe von vier Verknüpfungen hinzuzufügen:

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 beschreibt eine Tastenkombination. Die Liste der Tastenkombinationen wird als KeyboardShortcutGroup-Objekt verpackt. Apps teilen der Hilfe für Tastenkombinationen die verfügbaren Tastenkombinationen mit, indem sie die KeyboardShortcutGroup-Objekte der änderbaren Liste hinzufügen, die als erster Parameter der Methode übergeben wird.

Tastenkombinationen mit Gruppen organisieren

Die Hilfe für Tastenkombinationen zeigt Tastenkombinationen in separaten Gruppen an, damit Nutzer Tastenkombinationen nach Anwendungsfall oder für Bildschirme Ihrer App finden können. In Abbildung 2 sind die Tastenkombinationen in zwei Gruppen unterteilt: Cursorbewegung und Nachrichtenbearbeitung.

Anwendung auf einem Gerät geöffnet, auf dem Tastenkombinationsgruppen angezeigt werden.
Abbildung 2. Kategorien in der Hilfe für Tastenkombinationen.

Ihre App registriert zwei oder mehr Gruppen von Tastenkombinationen, indem sie für jede Gruppe ein KeyboardShortcutGroup-Objekt erstellt. Im folgenden Snippet werden zwei KeyboardShortCutGroup-Objekte der änderbaren Liste hinzugefügt, die an die Methode onProvideKeyboardShortcuts() übergeben wird. Die Objekte werden im Hilfsprogramm für Tastenkombinationen als Kategorien angezeigt, wie in Abbildung 2 zu sehen ist.

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)
}

Hilfe zu Tastenkombinationen über Code öffnen

Apps rufen den Bildschirm mit Tastenkombinationen auf, indem sie die Methode requestShowKeyboardShortcuts() aufrufen. Im folgenden Snippet wird die Hilfe für Tastenkombinationen geöffnet, wenn Nutzer auf die Schaltfläche tippen oder klicken oder die Eingabetaste drücken.

val activity = LocalActivity.current

Button(
    onClick = {
        activity?.requestShowKeyboardShortcuts()
    }
) {
    Text(text = "Show keyboard shortcuts")
}