使用可擴充的使用者介面,在車輛中建構精緻、動態的多面板使用者體驗。可縮放的使用者介面:
提供彈性視窗系統。
可大幅降低工程風險、成本,以及使用者介面實作的相容性測試套件 (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 (位置和大小)、visibility、layer (Z 順序) 和 corner 半徑等屬性。單一面板可以有變體,例如 opened、closed 或 minimized。詳情請參閱「使用變數設計視覺狀態」。
轉移
轉場效果會定義面板從目前狀態 fromVariant 移至新狀態 toVariant 的方式。Event 會觸發轉場效果,並定義面板在狀態變更期間使用的動畫。面板應從目前狀態移至 toVariant。同步處理時,核心 Window Manager 會為所有轉場效果製作動畫並協調。
- 事件:觸發 UI 變更的條件。原始設備製造商 (OEM) 或系統可以預先定義觸發條件。例如
_System_OnHomeEvent、_System_TaskOpenEvent或按下自訂導覽按鈕。
舉例來說,可擴展的 UI 會使用「事件」觸發「轉場效果」。這些轉場效果會將面板從一個變數動畫處理到另一個變數,以顯示 UI 中的動態變化。可調整大小的 UI 會將這些變更傳達給其他系統應用程式,以便視需要調整內容。在 XML 中定義 UI 關係,即可:
指定複雜的 UI 行為:定義複雜的使用者介面互動。
排列視窗系統:控制視窗位置和圖層。
導入視覺主題:套用一致的品牌宣傳和美學元素。
降低程式碼複雜度:盡量減少開發大量自訂程式碼的需求。
詳情請參閱「設定轉場效果」。
系統 UI 按鈕
除了觸發意圖,CarSystemBarButtons 還能在使用 event、selectedEvent 和 unselectedEvent 屬性輕觸時,觸發可調整大小的 UI 事件。
event 說明輕觸按鈕時要觸發的事件。如要更精細地控制事件,請使用 selectedEvent 和 unselectedEvent 屬性,分別指定在選取或取消選取按鈕時觸發的事件。
實作系統 UI 的時機
本節說明如何充分運用可調整大小的 UI。
建立永久多面板版面配置
建立多區域體驗,讓螢幕的不同區域永久專用於特定功能。例如專屬媒體控制項、溫度控制列或全螢幕地圖。
主要應用程式 (例如導航) 使用 TaskPanels,而必須放在 TaskPanels 之間的 UI 元素 (檢視區塊形式) 則使用 DecorPanels。
導入動態居家情境
實作由多個可同時顯示且可互動的應用程式面板組成的「首頁」場景。例如地圖、媒體播放器和應用程式排列顯示。
如要將所有相關面板轉換為 opened 或 default 的主畫面變體,請設定 _System_HomeEvent。
套用情境疊加效果
放置非應用程式 UI 元素,例如內容相關的小工具、自訂品牌宣傳和可與應用程式工作協調動畫的拖曳控點。
針對所有純裝飾或小工具代管元素,使用 DecorPanels。如果小工具代管可啟動的完整功能應用程式,建議使用 Panel > TaskPanel。如果圖層必須與 TaskPanel 圖層同步,請對以檢視區塊為基礎的 UI 元素使用 DecorPanels。
設計複雜的面板互動
設計進階使用者導向動作,例如根據主畫面內容動態調整應用程式面板大小,或調整儀表板檢視畫面。
定義自訂 Events,觸發特定非系統標準 Transitions。