高度なウィンドウ処理を実装する

このセクションでは、スケーラブル UI の最適な使用方法について説明します。

機能を有効にする

システム UI 構成ファイル(config.xml など)で必要なフラグを設定します。

<bool name="config_enableScalableUI">true</bool>

システム構成を確認する

システムに必要な機能が含まれており、以前のウィンドウ機能や競合するウィンドウ機能が無効になっていることを確認します。

  • システムには機能 android.software.car.splitscreen_multitasking が含まれていなければなりません。

  • 新しいルートタスクモデルと競合する以前のウィンドウ機能または分割画面機能が無効になっていることを確認します。

パネルとバリアントを定義する

Panel 構成を含むすべての構成ファイルを宣言するには、window_states という名前の配列リソースを追加します。

ロール マッピングに対応するため、パネルは role 属性を使用して、ホストするアプリにマッピングする必要があります。role は、role="@array/nav_components などのコンポーネント名の配列を参照します。

遷移を定義する

各パネル定義内で、システム イベントまたはカスタム イベントをターゲット バリアントにマッピングして、トランジションを定義します。たとえば、ナビゲーション パネルの動作を定義するには:

<Transitions>
    <Transition onEvent="_System_TaskOpenEvent" toVariant="@id/opened"/>
    <Transition onEvent="_System_HomeEvent" toVariant="@id/closed"/>
    <Transition onEvent="@string/event_system_nav_focus_lost" toVariant="@id/minimized"/>
</Transitions>