トランジションを使用して、パネル間の変更を定義します。パネルの 2 つのバリアント間で変更を行う方法とタイミングを記述するトランジションを定義できます。各パネルのトランジションのリストを定義できます。
<Transitions>
XML タグは、単一の <TaskPanel>
または <DecorPanel>
の構成で 1 つ以上の <Transition>
定義のコンテナとして使用します。このタグを使用すると、パネルが視覚状態をあるバリエーションから別のバリエーションに切り替えるタイミングと方法を制御する一連のアニメーション ルールを定義できます。
XML 属性
<Transitions>
タグでは、次の子 <Transition>
要素のデフォルト値を定義できます。
属性 | ステータス | 説明 |
---|---|---|
<defaultDuration> |
任意 | すべての子 期間属性を明示的に設定していない この属性が指定されていない場合、通常は 300 ミリ秒のシステムの |
defaultInterpolator |
任意 | Android Interpolator XML リソース ID を参照します。例: デフォルトの補間関数が指定されていない場合、通常は |
XML 子要素
<Transitions>
の子要素は <Transition>
です。これは、PanelState
バリアント間の特定のアニメーション パスを定義するために使用されるコア要素です。複数の <Transition>
要素を 1 つの <Transitions>
ブロック内にネストできます。
サンプルコード
このサンプルでは、fromVariant
は省略可能です。定義されていない場合は、現在のバリアントが使用されます。fromVariant
が定義されている場合、すべてのパラメータが一致する場合にのみ、この遷移が使用されます。パラメータは、イベントと 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>
Transition
遷移は、パネルの 2 つのバリアント間の視覚状態の変化をアニメーション化する方法を記述します。トランジションは、バリアントからバリアントへのパスの概要を示します。そのため、遷移では、適用するアニメーションやアニメーションをトリガーするために必要なイベントなどの詳細を指定します。
パネルの場合、遷移では境界、可視性、アルファなどのプロパティのアニメーションを定義できます。カスタム アニメーターが指定されていない場合は、デフォルトのアニメーターが使用されます。
XML 属性
<Transition>
タグでは、いくつかの属性を使用して、アニメーションの特性と、アニメーションが発生する条件を定義します。
XML 子要素
<Event>
は、遷移をトリガーできるイベントのプロパティを定義します。
属性 | ステータス | 説明 |
---|---|---|
<id> |
必須 | トリガーを有効にするイベントの一意の識別子。 |
<panelId> |
任意 | イベントに関連付けられているパネルの一意の識別子。 |
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>