O Assistente de Atalhos do Teclado permite que os usuários descubram atalhos de teclado para a plataforma e os apps abertos. Publique os atalhos do seu app no Assistente de Atalhos de Teclado para melhorar a produtividade e a facilidade de uso.
Os usuários pressionam Meta+/ para abrir a tela de atalhos de teclado, que está disponível no Android 7.0 (nível 24 da API) e versões mais recentes.
Fornecer atalhos para o Auxiliar de Atalhos do Teclado
É possível fornecer listas de atalhos de teclado disponíveis para o
Assistente de Atalhos de Teclado substituindo o
callback de janela onProvideKeyboardShortcuts().
O snippet abaixo demonstra uma implementação de
onProvideKeyboardShortcuts() para adicionar um grupo de quatro atalhos:
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 descreve um atalho do teclado.
A lista de atalhos do teclado é agrupada como um objeto KeyboardShortcutGroup.
Os apps notificam os atalhos de teclado disponíveis ao assistente de atalhos do teclado adicionando
os objetos KeyboardShortcutGroup à lista mutável transmitida
como o primeiro parâmetro do método.
Organizar atalhos de teclado com grupos
O Assistente de Atalhos do Teclado mostra os atalhos em grupos separados para que os usuários possam encontrá-los por caso de uso ou para telas do seu app. A Figura 2 mostra os atalhos do teclado categorizados em dois grupos: movimento do cursor e edição de mensagens.
O app registra dois ou mais grupos de atalhos de teclado criando um objeto
KeyboardShortcutGroup para cada grupo.
No snippet a seguir, dois objetos KeyboardShortCutGroup são adicionados à
lista mutável transmitida ao método onProvideKeyboardShortcuts().
Os objetos são mostrados como categorias no assistente de atalhos do teclado, conforme mostrado na
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) }
Abrir o Auxiliar de Atalhos do Teclado no código
Os apps mostram a tela de atalhos do teclado
chamando o método
requestShowKeyboardShortcuts(). No snippet a seguir, o Assistente de Atalhos do Teclado é aberto quando os usuários tocam
ou clicam no botão ou pressionam a tecla Enter.
val activity = LocalActivity.current Button( onClick = { activity?.requestShowKeyboardShortcuts() } ) { Text(text = "Show keyboard shortcuts") }