實作進階視窗化功能

本節說明如何充分運用可調整大小的使用者介面。

啟用這項功能

在系統 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>