Bantuan Pintasan Keyboard

Bantuan Pintasan Keyboard memungkinkan pengguna menemukan pintasan keyboard untuk platform dan membuka aplikasi. Publikasikan pintasan aplikasi Anda di Bantuan Pintasan Keyboard untuk meningkatkan produktivitas pengguna dan kemudahan penggunaan.

Pengguna menekan Meta+/ untuk membuka layar pintasan keyboard yang tersedia di Android 7.0 (API level 24) dan yang lebih baru.

Gambar 1. Bantuan Pintasan Keyboard.

Menyediakan pintasan ke Pemandu Pintasan Keyboard

Anda dapat memberikan daftar pintasan keyboard yang tersedia ke Pemandu Pintasan Keyboard dengan mengganti callback jendela onProvideKeyboardShortcuts(). Cuplikan berikut menunjukkan implementasi onProvideKeyboardShortcuts() untuk menambahkan grup yang berisi empat pintasan:

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 mendeskripsikan pintasan keyboard. Daftar pintasan keyboard digabungkan sebagai objek KeyboardShortcutGroup. Aplikasi memberi tahu pintasan keyboard yang tersedia ke Pemandu Pintasan Keyboard dengan menambahkan objek KeyboardShortcutGroup ke daftar yang dapat diubah dan diteruskan sebagai parameter pertama metode.

Mengatur pintasan keyboard dengan grup

Helper pintasan keyboard menampilkan pintasan keyboard dalam grup terpisah sehingga pengguna dapat menemukan pintasan berdasarkan kasus penggunaan atau untuk layar aplikasi Anda. Gambar 2 menunjukkan pintasan keyboard yang dikategorikan menjadi dua grup: gerakan kursor dan pengeditan pesan.

Gambar 2. Kategori di Keyboard Shortcuts Helper.

Aplikasi Anda mendaftarkan dua grup pintasan keyboard atau lebih dengan membuat objek KeyboardShortcutGroup untuk setiap grup. Dalam cuplikan berikut, dua objek KeyboardShortCutGroup ditambahkan ke daftar yang dapat diubah dan diteruskan ke metode onProvideKeyboardShortcuts(). Objek ditampilkan sebagai kategori di Bantuan Pintasan Keyboard seperti yang ditunjukkan pada gambar 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)
}

Buka Bantuan Pintasan Keyboard dari kode

Aplikasi menampilkan layar pintasan keyboard dengan memanggil metode requestShowKeyboardShortcuts(). Dalam cuplikan berikut, Bantuan Pintasan Keyboard akan terbuka saat pengguna mengetuk atau mengklik tombol atau menekan tombol Enter.

val activity = LocalContext.current as Activity

Button(onClick = { activity.requestShowKeyboardShortcuts() }) {
    Text(text = "Show keyboard shortcuts")
}