Hilfe für Tastenkombinationen

Mit der Hilfe für Tastenkombinationen können Nutzer Tastenkombinationen für die Plattform und zum Öffnen von Apps finden. Veröffentlichen Sie die Tastenkombinationen Ihrer App in der Hilfe für Tastenkombinationen, um die Produktivität der Nutzer zu steigern und die Bedienung zu erleichtern.

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

Eine App wird auf einem Gerät geöffnet und es werden Systemtastenkombinationen angezeigt.
Abbildung 1 Hilfe für Tastenkombinationen

Verknüpfungen zur Hilfe für Tastenkombinationen bereitstellen

Sie können der Hilfe für Tastenkombinationen Listen mit verfügbaren Tastenkombinationen zur Verfügung stellen, indem Sie den onProvideKeyboardShortcuts()-Fenster-Callback überschreiben. Das folgende Snippet zeigt eine Implementierung von onProvideKeyboardShortcuts(), um eine Gruppe von vier Tastenkombinationen 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 ist als ein KeyboardShortcutGroup-Objekt verpackt. Apps benachrichtigen die Hilfe für Tastenkombinationen über verfügbare Tastenkombinationen, indem sie die KeyboardShortcutGroup-Objekte der veränderlichen 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. Abbildung 2 zeigt die Tastenkombinationen, die in zwei Gruppen unterteilt sind: Cursorbewegung und Nachrichtenbearbeitung.

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

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

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 für Tastenkombinationen über Code öffnen

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

val activity = LocalActivity.current

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