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

このセクションでは、スケーラブル 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>