使用轉場效果定義面板之間的變化。您可以定義轉場效果,說明如何以及何時在面板的兩個變體之間進行變更。您可以為每個面板定義轉場效果清單。
在單一 <TaskPanel>
或 <DecorPanel>
的設定中,使用 <Transitions>
XML 標記做為一或多個 <Transition>
定義的容器。您可以使用這個標記定義一組動畫規則,控管面板何時及如何從一個不同的變體變更視覺狀態。
XML 屬性
<Transitions>
標記可為下列子項 <Transition>
元素定義預設值:
屬性 | Status | 說明 |
---|---|---|
<defaultDuration> |
選用 | 指定要套用至所有子項 未明確設定時間長度屬性的 如未指定這項屬性,系統會使用 |
defaultInterpolator |
選用 | 參照 Android Interpolator XML 資源 ID。例如: 如未指定預設插補器,系統通常會預設為 |
XML 子元素
<Transitions>
的子項是 <Transition>
,這是用來定義 PanelState
變體之間特定動畫路徑的核心元素。單一 <Transitions>
區塊中可以巢狀包含多個 <Transition>
元素。
程式碼範例
在這個範例中,fromVariant
為選用項目。如未定義,系統會使用目前的變體。如果已定義 fromVariant
,只有在所有參數都相符時,才會使用轉場效果。參數是在 Event 和
fromVariant
中指定。
<Transitions defaultDuration="400"
defaultInterpolator="@android:anim/linear_interpolator">
<Transition fromVariant="closed_app"
toVariant="opened_app">
<Event id="app_opened" panel="application_panel" />
</Transition>
</Transitions>
轉場
轉場效果說明如何為面板兩個變體之間的視覺狀態變化製作動畫。轉場效果會列出從一個變體到另一個變體的路徑。為此,轉場效果會指定動畫和觸發動畫所需的事件等詳細資料。
對於面板,轉場效果可以定義屬性的動畫,例如邊界、顯示設定和 Alpha。如未指定自訂動畫師,系統會使用預設動畫師。
XML 屬性
<Transition>
標記會使用多種屬性定義動畫的特徵,以及動畫發生的條件。
XML 子元素
<Event>
定義可觸發轉換的事件屬性。
屬性 | Status | 說明 |
---|---|---|
<id> |
必要 | 用來啟動觸發條件的事件專屬 ID。 |
<panelId> |
選用 | 與活動相關聯的面板專屬 ID。 |
componentName |
選用 | 與這個事件相關聯的元件名稱。 |
packageName |
選用 | 與事件相關聯的套件名稱。 |
程式碼範例
<Transitions defaultDuration="400"
defaultInterpolator="@android:anim/accelerate_interpolator">
<!-- A transition from 'closed_app' to 'opened_app' variant, triggered by 'open_app_event' -->
<Transition fromVariant="closed_app"
toVariant="opened_app">
<Event id="app_opened" panel="application_panel" />
<Transition>
<!-- A transition from 'opened_app' to 'closed_app' variant, using a custom animator -->
<Transition fromVariant="opened_app"
toVariant="closed_app"
animator="@animator/close_app">
<Event id="_System_PanelEmptyEvent"
panelId="application_panel" />
<Transition>
</Transitions>