键盘快捷键助手可帮助用户发现平台和已打开应用的键盘快捷键。在键盘快捷键助手中发布您的应用快捷键,以提高用户工作效率和易用性。
用户按 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 = LocalContext.current as Activity
Button(onClick = { activity.requestShowKeyboardShortcuts() }) {
Text(text = "Show keyboard shortcuts")
}