Outil d'aide pour raccourcis clavier

L'outil d'aide aux raccourcis clavier permet aux utilisateurs de découvrir les raccourcis clavier de la plate-forme et d'ouvrir des applications. Publiez les raccourcis de votre application dans l'outil d'aide aux raccourcis clavier pour améliorer la productivité des utilisateurs et la facilité d'utilisation.

Les utilisateurs appuient sur Meta+/ pour ouvrir l'écran des raccourcis clavier, qui est disponible sur Android 7.0 (niveau d'API 24) ou version ultérieure.

Application ouverte sur un appareil affichant les raccourcis système.
Image 1. Outil d'aide aux raccourcis clavier.

Fournir des raccourcis à l'outil d'aide aux raccourcis clavier

Vous pouvez fournir des listes de raccourcis clavier disponibles à l'outil d'aide aux raccourcis clavier en remplaçant le rappel de fenêtre onProvideKeyboardShortcuts(). L'extrait suivant illustre une implémentation de onProvideKeyboardShortcuts() pour ajouter un groupe de quatre raccourcis :

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 décrit un raccourci clavier. La liste des raccourcis clavier est encapsulée en tant qu' KeyboardShortcutGroup objet. Les applications notifient les raccourcis clavier disponibles à l'outil d'aide aux raccourcis clavier en ajoutant les objets KeyboardShortcutGroup à la liste modifiable transmise en tant que premier paramètre de la méthode.

Organiser les raccourcis clavier avec des groupes

L'outil d'aide aux raccourcis clavier affiche les raccourcis clavier dans des groupes distincts afin que les utilisateurs puissent les trouver par cas d'utilisation ou pour les écrans de votre application. L'image 2 montre les raccourcis clavier classés en deux groupes : déplacement du curseur et modification des messages.

Application ouverte sur un appareil affichant des groupes de raccourcis.
Image 2. Catégories dans l'outil d'aide aux raccourcis clavier.

Votre application enregistre deux groupes de raccourcis clavier ou plus en créant un objet KeyboardShortcutGroup pour chaque groupe. Dans l'extrait suivant, deux objets KeyboardShortCutGroup sont ajoutés à la liste modifiable transmise à la méthode onProvideKeyboardShortcuts(). Les objets sont affichés sous forme de catégories dans l'outil d'aide aux raccourcis clavier, comme le montre l'image 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)
}

Ouvrir l'outil d'aide aux raccourcis clavier à partir du code

Les applications affichent l'écran des raccourcis clavier en appelant la requestShowKeyboardShortcuts() méthode. Dans l'extrait suivant, l'outil d'aide aux raccourcis clavier s'ouvre lorsque les utilisateurs appuient sur le bouton ou cliquent dessus, ou lorsqu'ils appuient sur la touche Enter.

val activity = LocalActivity.current

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