Keyboard Shortcuts Helper

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 (level API 24) dan yang lebih tinggi.

Aplikasi terbuka di perangkat yang menampilkan pintasan sistem.
Gambar 1. Bantuan Pintasan Keyboard.

Menyediakan pintasan ke Bantuan Pintasan Keyboard

Anda dapat menyediakan daftar pintasan keyboard yang tersedia ke Bantuan Pintasan Keyboard dengan mengganti onProvideKeyboardShortcuts() callback jendela. 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 menjelaskan pintasan keyboard. Daftar pintasan keyboard digabungkan sebagai objek KeyboardShortcutGroup. Aplikasi memberi tahu pintasan keyboard yang tersedia ke Bantuan Pintasan Keyboard dengan menambahkan objek KeyboardShortcutGroup ke daftar yang dapat diubah yang diteruskan sebagai parameter pertama metode.

Mengatur pintasan keyboard dengan grup

Bantuan 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 ke dalam dua grup: pergerakan kursor dan pengeditan pesan.

Aplikasi terbuka di perangkat yang menampilkan grup pintasan.
Gambar 2. Kategori di Bantuan Pintasan Keyboard.

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 yang diteruskan ke metode onProvideKeyboardShortcuts(). Objek ditampilkan sebagai kategori di Bantuan Pintasan Keyboard seperti yang ditunjukkan 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)
}

Membuka Bantuan Pintasan Keyboard dari kode

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

val activity = LocalActivity.current

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