借助键盘快捷键助手,用户可以发现平台的键盘快捷键并打开应用。在键盘快捷键助手中发布应用的快捷键,有助于提高用户的工作效率和易用性。
用户可以按 Meta+/ 打开键盘快捷键屏幕,该屏幕 适用于 Android 7.0(API 级别 24)及更高版本。
为键盘快捷键助手提供快捷键
您可以通过替换
onProvideKeyboardShortcuts()窗口回调,为
键盘快捷键助手提供可用的键盘快捷键列表。
以下代码段展示了
onProvideKeyboardShortcuts() 的实现,用于添加一组包含四个快捷键的快捷键:
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 用于描述键盘快捷键。
键盘快捷键列表会封装为
KeyboardShortcutGroup对象。
应用通过将 KeyboardShortcutGroup 对象添加到作为方法的第一个参数传递的可变列表中,向键盘快捷键助手通知可用的键盘快捷键。
使用群组整理键盘快捷键
键盘快捷键助手会在单独的群组中显示键盘快捷键 以便用户按用例或应用屏幕查找快捷键 。图 2 显示了键盘快捷键 分为两组:光标移动和消息编辑。
您的应用会通过为每个群组创建一个 KeyboardShortcutGroup 对象来注册两个或多个键盘快捷键群组。
在以下代码段中,两个
KeyboardShortCutGroup 对象会添加到传递给 onProvideKeyboardShortcuts()
方法的可变列表中。
这些对象在键盘快捷键助手中显示为类别,如图
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) }
通过代码打开键盘快捷键助手
应用通过
调用 requestShowKeyboardShortcuts()
方法来显示键盘快捷键屏幕。在以下代码段中,当用户点按
或点击按钮或按Enter键时,键盘快捷键助手会打开。
val activity = LocalActivity.current Button( onClick = { activity?.requestShowKeyboardShortcuts() } ) { Text(text = "Show keyboard shortcuts") }