總覽

使用可擴充的使用者介面,在車輛中建構精緻、動態的多面板使用者體驗。可縮放的使用者介面:

  • 提供彈性視窗系統。

  • 可大幅降低工程風險、成本,以及使用者介面實作的相容性測試套件 (CTS) 複雜度。

可擴充的 UI 支援各種需要動態視窗排列方式的現代車用資訊娛樂系統 (IVI) 設計。

Android 17 推出下列進階視窗功能:

範例體驗

可調整大小的 UI 可提供無限多種視窗設定。以下列舉幾個為練習可擴充 UI 而建立的範例情境:

地圖背景和浮動應用程式

地圖背景設定,其他應用程式浮動在上方。

應用程式背景

應用程式背景設定,包含浮動面板。

其他應用程式下方的已釘選應用程式

釘選的應用程式 (例如小工具容器),其他應用程式會在上方啟動。

條件式浮動面板

只有在符合特定條件時才會顯示的條件式浮動面板,例如媒體播放或觸發快訊時。

讓固定的應用程式靠近駕駛

靠近駕駛座的固定應用程式。

分割畫面版面配置

分割畫面版面配置,並排顯示兩個應用程式。

互動式分割畫面

互動式分割畫面版面配置,可動態調整大小。

大螢幕適用的多錨點版面配置

專為大螢幕設計的多錨點版面配置。

主畫面版面配置,內含應用程式輪轉介面。

福利與法規遵循

可擴充的使用者介面優點包括:

  • 降低測試風險:架構已預先通過認證,並符合 CTS 規定,因此可消除在計畫週期後期測試失敗的主要風險。可擴充的 UI 可節省數月的工程工作,並加快法規遵循程序。

  • 設計彈性更高:可重現多種複雜的現有汽車視窗模型。可擴充的 UI 支援雄心勃勃且高度差異化的設計。

  • 降低實作複雜度:抽象化為高階、設定導向的 XML 模型,可降低自訂視窗邏輯的入門門檻。

  • 效能更佳:可擴充的 UI 在高效能視窗基礎上執行,並與標準 Android 完全整合。轉換流程順暢,可直接進行最佳化。

核心基石

可擴充的使用者介面可減少對 OEM 專屬程式碼的需求、簡化更新程序,並消除陷阱和減少認證問題,進而降低發布風險。

以 XML 為基礎的方法可解決在 Android Automotive OS (AAOS) 中管理複雜視窗系統時的常見挑戰,例如精確定位、Z 順序衝突和應用程式焦點。

可擴充的 UI 提供這些核心建構區塊。

面板

面板是螢幕上的基本矩形容器,每個面板都會對應至專屬的工作,方便獨立管理。面板可代管應用程式工作 (TaskPanel) 或以檢視畫面為基礎的內容,例如小工具 (DecorPanel)。如要瞭解詳情,請參閱「設定面板」。

Variant

變體會定義面板的特定視覺狀態,並包含 bounds (位置和大小)、visibilitylayer (Z 順序) 和 corner 半徑等屬性。單一面板可以有變體,例如 openedclosedminimized。詳情請參閱「使用變數設計視覺狀態」。

轉移

轉場效果會定義面板從目前狀態 fromVariant 移至新狀態 toVariant 的方式。Event 會觸發轉場效果,並定義面板在狀態變更期間使用的動畫。面板應從目前狀態移至 toVariant。同步處理時,核心 Window Manager 會為所有轉場效果製作動畫並協調。

  • 事件:觸發 UI 變更的條件。原始設備製造商 (OEM) 或系統可以預先定義觸發條件。例如 _System_OnHomeEvent_System_TaskOpenEvent 或按下自訂導覽按鈕。

舉例來說,可擴展的 UI 會使用「事件」觸發「轉場效果」。這些轉場效果會將面板從一個變數動畫處理到另一個變數,以顯示 UI 中的動態變化。可調整大小的 UI 會將這些變更傳達給其他系統應用程式,以便視需要調整內容。在 XML 中定義 UI 關係,即可:

  • 指定複雜的 UI 行為:定義複雜的使用者介面互動。

  • 排列視窗系統:控制視窗位置和圖層。

  • 導入視覺主題:套用一致的品牌宣傳和美學元素。

  • 降低程式碼複雜度:盡量減少開發大量自訂程式碼的需求。

詳情請參閱「設定轉場效果」。

系統 UI 按鈕

除了觸發意圖,CarSystemBarButtons 還能在使用 eventselectedEventunselectedEvent 屬性輕觸時,觸發可調整大小的 UI 事件。

event 說明輕觸按鈕時要觸發的事件。如要更精細地控制事件,請使用 selectedEventunselectedEvent 屬性,分別指定在選取或取消選取按鈕時觸發的事件。

實作系統 UI 的時機

本節說明如何充分運用可調整大小的 UI。

建立永久多面板版面配置

建立多區域體驗,讓螢幕的不同區域永久專用於特定功能。例如專屬媒體控制項、溫度控制列或全螢幕地圖。

主要應用程式 (例如導航) 使用 TaskPanels,而必須放在 TaskPanels 之間的 UI 元素 (檢視區塊形式) 則使用 DecorPanels

導入動態居家情境

實作由多個可同時顯示且可互動的應用程式面板組成的「首頁」場景。例如地圖、媒體播放器和應用程式排列顯示。

如要將所有相關面板轉換為 openeddefault 的主畫面變體,請設定 _System_HomeEvent

套用情境疊加效果

放置非應用程式 UI 元素,例如內容相關的小工具、自訂品牌宣傳和可與應用程式工作協調動畫的拖曳控點。

針對所有純裝飾或小工具代管元素,使用 DecorPanels。如果小工具代管可啟動的完整功能應用程式,建議使用 Panel > TaskPanel。如果圖層必須與 TaskPanel 圖層同步,請對以檢視區塊為基礎的 UI 元素使用 DecorPanels

設計複雜的面板互動

設計進階使用者導向動作,例如根據主畫面內容動態調整應用程式面板大小,或調整儀表板檢視畫面。

定義自訂 Events,觸發特定非系統標準 Transitions