Trình trợ giúp phím tắt

Trình trợ giúp phím tắt cho phép người dùng khám phá các phím tắt của nền tảng và mở các ứng dụng. Phát hành phím tắt của ứng dụng trong Trình trợ giúp phím tắt để cải thiện hiệu suất và tính dễ sử dụng của người dùng.

Người dùng nhấn tổ hợp phím Meta+/ để mở màn hình phím tắt có trên Android 7.0 (API cấp 24) trở lên.

Hình 1. Trình trợ giúp phím tắt.

Cung cấp phím tắt cho Trình trợ giúp phím tắt

Bạn có thể cung cấp danh sách phím tắt hiện có cho Trình trợ giúp phím tắt bằng cách ghi đè lệnh gọi lại cửa sổ onProvideKeyboardShortcuts(). Đoạn mã sau minh hoạ cách triển khai onProvideKeyboardShortcuts() để thêm một nhóm gồm 4 lối tắt:

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 mô tả phím tắt. Danh sách phím tắt được gói dưới dạng một đối tượng KeyboardShortcutGroup. Các ứng dụng sẽ thông báo cho các phím tắt hiện có cho Trình trợ giúp phím tắt bằng cách thêm đối tượng KeyboardShortcutGroup vào danh sách có thể thay đổi được chuyển dưới dạng tham số đầu tiên của phương thức.

Sắp xếp các phím tắt theo nhóm

Trình trợ giúp phím tắt hiển thị phím tắt theo các nhóm riêng biệt để người dùng có thể tìm thấy phím tắt theo trường hợp sử dụng hoặc cho các màn hình của ứng dụng. Hình 2 cho thấy các phím tắt được phân thành hai nhóm: di chuyển con trỏ và chỉnh sửa tin nhắn.

Hình 2. Các danh mục trong Trình trợ giúp phím tắt.

Ứng dụng của bạn sẽ đăng ký hai hoặc nhiều nhóm phím tắt bằng cách tạo một đối tượng KeyboardShortcutGroup cho mỗi nhóm. Trong đoạn mã sau, 2 đối tượng KeyboardShortCutGroup được thêm vào danh sách có thể biến đổi được truyền đến phương thức onProvideKeyboardShortcuts(). Các đối tượng được hiển thị dưới dạng danh mục trong Trình trợ giúp phím tắt như hình 2 cho thấy.

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)
}

Mở Trình trợ giúp phím tắt trong mã

Các ứng dụng hiển thị màn hình phím tắt bằng cách gọi phương thức requestShowKeyboardShortcuts(). Trong đoạn mã sau, Trình trợ giúp phím tắt sẽ mở khi người dùng nhấn, nhấp vào nút hoặc nhấn phím Enter.

val activity = LocalContext.current as Activity

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