단축키 도우미를 사용하면 사용자가 플랫폼의 단축키를 검색하고 앱을 열 수 있습니다. Keyboard Shortcut Helper에 앱의 단축키를 게시하여 사용자 생산성과 사용 편의성을 개선하세요.
사용자가 Meta+/를 눌러 단축키 화면을 엽니다. 이 화면은 Android 7.0 (API 수준 24) 이상에서 사용할 수 있습니다.
단축키 도우미에 단축키 제공
onProvideKeyboardShortcuts()
창 콜백을 재정의하여 사용 가능한 단축키 목록을 단축키 도우미에 제공할 수 있습니다.
다음 스니펫은 4개의 바로가기 그룹을 추가하는 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
객체를 추가하여 사용 가능한 단축키를 Keyboard Shortcut Helper에 알립니다.
그룹으로 단축키 정리하기
단축키 도우미는 사용자가 사용 사례 또는 앱 화면별로 단축키를 찾을 수 있도록 단축키를 별도의 그룹으로 표시합니다. 그림 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")
}