مساعد اختصارات لوحة المفاتيح

يتيح "مساعد اختصارات لوحة المفاتيح" للمستخدمين اكتشاف اختصارات لوحة المفاتيح النظام الأساسي وفتح التطبيقات. نشر اختصارات تطبيقك في "مساعد اختصارات لوحة المفاتيح" لتحسين إنتاجية المستخدم وسهولة الاستخدام.

يضغط المستخدمون على /Meta+ لفتح شاشة اختصارات لوحة المفاتيح، وهي متوفّرة على Android 7.0 (المستوى 24 لواجهة برمجة التطبيقات) والإصدارات الأحدث.

التطبيق مفتوح على جهاز يعرض اختصارات النظام.
الشكل 1. مساعد اختصارات لوحة المفاتيح

توفير اختصارات لمساعد اختصارات لوحة المفاتيح

يمكنك تقديم قوائم اختصارات لوحة المفاتيح المتاحة مساعد اختصارات لوحة المفاتيح من خلال تجاوز رد الاتصال بالفترة 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 إلى القائمة القابلة للتغيير باعتبارها المعلمة الأولى للطريقة.

تنظيم اختصارات لوحة المفاتيح باستخدام المجموعات

يعرض "مساعد اختصارات لوحة المفاتيح" اختصارات لوحة المفاتيح في مجموعات منفصلة بحيث يمكن للمستخدمين العثور على اختصارات حسب حالة الاستخدام أو لشاشات تطبيقك. يعرض الشكل 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")
}