キーボード ショートカット ヘルパー

Keyboard Shortcuts Helper により、ユーザーは、 プラットフォームとオープンアプリです。キーボード ショートカット ヘルパーでアプリのショートカットを公開する ユーザーの生産性と使いやすさを向上させています

ユーザーが Meta+/ キーを押すと、キーボード ショートカットの画面が開きます。 Android 7.0(API レベル 24)以降で利用できます。

システム ショートカットを表示するデバイスでアプリを開いた。
図 1. キーボード ショートカット ヘルパー。
で確認できます。

キーボード ショートカット ヘルパーへのショートカットを提供する

キーボード ショートカット リストを使用して、 キーボード ショートカット ヘルパーを onProvideKeyboardShortcuts() ウィンドウ コールバック。 次のスニペットは、 onProvideKeyboardShortcuts()すると、次の 4 つのショートカットのグループを追加できます。

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 つのグループに分類されます。

ショートカット グループを表示するデバイスでアプリを開いています。
図 2. キーボード ショートカット ヘルパーのカテゴリ。

アプリでは、キーボード ショートカットを作成して、キーボード ショートカットの 各グループの KeyboardShortcutGroup オブジェクト。 次のスニペットでは、2 つの KeyboardShortCutGroup オブジェクトが onProvideKeyboardShortcuts() メソッドに渡される可変リスト。 オブジェクトは、キーボード ショートカット ヘルパーにカテゴリとして表示されます。 図 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")
}