כלי העזרה למקשי קיצור

כלי העזרה למקשי קיצור מאפשר למשתמשים לגלות מקשי קיצור פלטפורמה ופתיחת אפליקציות. פרסום קיצורי הדרך של האפליקציה בכלי העזרה למקשי קיצור כדי לשפר את הפרודוקטיביות של המשתמשים ואת קלות השימוש בהם.

משתמשים מקישים על Meta+/ כדי לפתוח את מסך מקשי הקיצור, כלומר זמין ב-Android 7.0 (רמת API 24) ואילך.

האפליקציה פתוחה במכשיר שמוצגים בו קיצורי דרך של המערכת.
איור 1. כלי העזרה למקשי קיצור.

מתן קיצורי דרך לכלי העזרה למקשי קיצור

אפשר להציג רשימות זמינות של מקשי קיצור כדי כלי העזרה למקשי קיצור מוצגים על ידי ביטול של קריאה חוזרת (callback) של חלון onProvideKeyboardShortcuts(). קטע הקוד הבא מדגים הטמעה של 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 הועברו לרשימת האובייקטים שניתנים לשינוי בתור הפרמטר הראשון של ה-method.

ארגון מקשי קיצור באמצעות קבוצות

כלי העזרה למקשי קיצור מציג מקשי קיצור בקבוצות נפרדות כדי שהמשתמשים יוכלו למצוא קיצורי דרך לפי תרחיש לדוגמה, או למסכים של באפליקציה שלך. איור 2 מציג את מקשי הקיצור הנתונים מחולקים לשתי קבוצות: תנועת הסמן ועריכת הודעות.

האפליקציה פתוחה במכשיר שמוצגות בו קבוצות של מקשי קיצור.
איור 2. קטגוריות בכלי למקשי הקיצור.

האפליקציה שלך רושמת שתי קבוצות או יותר של מקשי קיצור על ידי יצירה של אובייקט KeyboardShortcutGroup לכל קבוצה. בקטע הקוד הבא, שני אובייקטים מסוג KeyboardShortCutGroup מתווספים אל שניתנת לשינוי, שמועברת לשיטה onProvideKeyboardShortcuts(). האובייקטים מוצגים כקטגוריות בכלי העזרה למקשי קיצור בתור figure 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")
}