L'Assistente scorciatoie da tastiera consente agli utenti di scoprire le scorciatoie da tastiera per la piattaforma e le app aperte. Pubblica le scorciatoie dell'app nell'Assistente scorciatoie da tastiera per migliorare la produttività e la facilità d'uso degli utenti.
Gli utenti possono premere Meta+/ per aprire la schermata delle scorciatoie da tastiera, disponibile su Android 7.0 (livello API 24) e versioni successive.
Fornisci scorciatoie per l'Assistente scorciatoie da tastiera
Puoi fornire gli elenchi di scorciatoie da tastiera disponibili all'Assistente scorciatoie da tastiera sostituendo il callback della finestra onProvideKeyboardShortcuts()
.
Lo snippet seguente mostra un'implementazione di onProvideKeyboardShortcuts()
per aggiungere un gruppo di quattro scorciatoie:
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
descrive una scorciatoia da tastiera.
L'elenco delle scorciatoie da tastiera viene aggregato come oggetto KeyboardShortcutGroup
.
Le app notificano le scorciatoie da tastiera disponibili all'Assistente scorciatoie da tastiera aggiungendo
gli oggetti KeyboardShortcutGroup
all'elenco modificabile passato
come primo parametro del metodo.
Organizzare le scorciatoie da tastiera con i gruppi
L'helper per le scorciatoie da tastiera mostra le scorciatoie da tastiera in gruppi separati in modo che gli utenti possano trovare le scorciatoie in base al caso d'uso o per le schermate della tua app. La Figura 2 mostra le scorciatoie da tastiera suddivise in due gruppi: movimento del cursore e modifica dei messaggi.
L'app registra due o più gruppi di scorciatoie da tastiera creando un oggetto KeyboardShortcutGroup
per ogni gruppo.
Nello snippet seguente, vengono aggiunti due oggetti KeyboardShortCutGroup
all'elenco modificabile passato al metodo onProvideKeyboardShortcuts()
.
Gli oggetti vengono visualizzati come categorie nell'Assistente scorciatoie da tastiera, come mostra la Figura 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)
}
Apri l'Assistente scorciatoie da tastiera dal codice
Le app mostrano la schermata delle scorciatoie da tastiera
chiamando il metodo requestShowKeyboardShortcuts()
.
Nello snippet seguente, l'Assistente scorciatoie da tastiera si apre quando gli utenti toccano o fanno clic sul pulsante oppure premino il tasto Invio.
val activity = LocalContext.current as Activity
Button(onClick = { activity.requestShowKeyboardShortcuts() }) {
Text(text = "Show keyboard shortcuts")
}