設定動作

動作會在系統 UI 和其他系統應用程式之間傳達可擴充的 UI 事件,以便啟動應用程式或協調 UI 行為,回應特定系統事件。

動作是設定建構函式,與任何特定 UI 面板關聯無關。動作包含必要意圖,會在事件觸發時傳送。

您可以使用動作,在事件發生時播送意圖。

Scalable UI 會根據傳入的事件管理及調度動作物件。 處理事件時,可擴充的使用者介面會驗證事件是否符合動作的觸發條件,並傳送與動作相關聯的意圖,以進行排序後的廣播。行動:

  • 將面板定義與應用程式啟動邏輯分離:動作會將 UI 面板的靜態定義,與控管應用程式在面板中啟動方式的動態邏輯分開。這樣一來,您就能完全掌控何時啟動
    意圖,不受面板狀態影響。

  • 減少自訂開發作業:動作提供可設定且無程式碼的應用程式啟動解決方案。

  • 簡化面板初始化:動作提供標準化邏輯,可啟動應用程式以回應常見的系統事件,包括啟動導覽。

  • 透過延遲載入提升系統效能:動作可延遲載入應用程式,進而提升使用者感受到的回應速度和整體系統效能。您也可以透過動作進一步控管要在開機時啟動的應用程式。

  • 簡化動態 UI 的調整作業:觸發條件是動作的一部分,可讓您傳達及協調核心系統 UI 應用程式外部的可擴充 UI 狀態。因此,您可以動態調整 UI。

XML 屬性

動作通常是在 XML 檔案中從外部定義,並載入可調整大小的 UI。完整的動作設定會永久儲存在 xml/scalable_ui_actions.xml 中。每個系統執行個體只能有一個這類檔案。系統會忽略其他定義。

屬性 說明
<Action> <Actions> 標記是動作清單的頂層容器。每個 <Action> 定義都可以有必要和選用屬性。
  • (必要) intent 會定義意圖的 URI 字串,在動作啟動時分派。
  • Action 可以包含多個觸發點,形式為事件。如要讓動作傳送意圖,必須先收到事件,且事件必須符合至少一個事件說明。

XML 子元素

屬性 說明
<Event> 說明可觸發這項動作的事件屬性。 每個動作可指定多個事件子項。只要至少有一個事件符合條件,系統就會觸發動作。
  • (必要) id:可擴展 UI 事件的專屬 ID,用於啟用這個觸發條件。
  • (選用) panelID:與此事件相關聯的面板專屬 ID。
  • (選用) componentName 與這個事件相關聯的元件名稱。
  • (選用) packageName與這個事件相關聯的套件名稱。

事件比對

動作會使用類似於轉場效果的事件比對機制。