단축키 도우미를 사용하면 사용자가 플랫폼의 키보드 단축키를 찾고 앱을 열 수 있습니다. 키보드 단축키 도우미에 앱의 키보드 단축키를 게시하여 사용자 생산성과 사용 편의성을 개선하세요.
사용자는 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 객체를 추가하여 단축키 도우미에 사용 가능한 키보드 단축키를 알립니다.
그룹으로 키보드 단축키 구성
키보드 단축키 도우미는 키보드 단축키를 별도의 그룹으로 표시하므로 사용자는 사용 사례별 또는 앱 화면별로 키보드 단축키를 찾을 수 있습니다. 그림 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") }