Verwenden Sie einen Übergang, um Änderungen zwischen Feldern zu definieren. Sie können einen Übergang definieren, um zu beschreiben, wie und wann eine Änderung zwischen zwei Varianten eines Panels vorgenommen werden soll. Sie können für jedes Feld eine Liste von Übergängen definieren.
Verwenden Sie das XML-Tag <Transitions>
als Container für eine oder mehrere <Transition>
-Definitionen in der Konfiguration eines einzelnen <TaskPanel>
oder <DecorPanel>
.
Mit diesem Tag können Sie eine Reihe von Animationsregeln definieren, die festlegen, wann und wie sich der visuelle Status eines Bereichs von einer bestimmten Variante in eine andere ändern soll.
XML-Attribute
Mit dem <Transitions>
-Tag können Standardwerte für die folgenden untergeordneten <Transition>
-Elemente definiert werden:
Attribut | Status | Beschreibung |
---|---|---|
<defaultDuration> |
Optional | Gibt eine Standarddauer in Millisekunden an, die auf alle untergeordneten
Wenn dieses Attribut nicht angegeben ist, wird die |
defaultInterpolator |
Optional | Verweist auf eine Android-Interpolator-XML-Ressourcen-ID. Beispiel: Wenn kein Standardinterpolator angegeben ist, wird vom System in der Regel ein |
Untergeordnete XML-Elemente
Das untergeordnete Element von <Transitions>
ist <Transition>
, das Hauptelement, mit dem ein bestimmter Animationspfad zwischen PanelState
-Varianten definiert wird. Mehrere <Transition>
-Elemente können in einem einzelnen <Transitions>
-Block verschachtelt werden.
Beispielcode
In diesem Beispiel ist fromVariant
optional. Wenn nicht definiert, wird die aktuelle Variante verwendet. Wenn fromVariant
definiert ist, wird der Übergang nur verwendet, wenn alle Parameter übereinstimmen. Parameter werden im Ereignis und in fromVariant
angegeben.
<Transitions defaultDuration="400"
defaultInterpolator="@android:anim/linear_interpolator">
<Transition fromVariant="closed_app"
toVariant="opened_app">
<Event id="app_opened" panel="application_panel" />
</Transition>
</Transitions>
Übergang
Ein Übergang beschreibt, wie eine Änderung des visuellen Status zwischen zwei Varianten eines Bereichs animiert wird. Eine Übergangsaktion beschreibt den Pfad von einer Variante zu einer anderen. Dazu werden in der Übergangsdefinition Details wie die anzuwendende Animation und das Ereignis angegeben, das die Animation auslösen soll.
Für ein Feld können mit Übergängen Animationen für Eigenschaften wie Grenzen, Sichtbarkeit und Alpha definiert werden. Wenn kein benutzerdefinierter Animator angegeben ist, wird ein Standard-Animator verwendet.
XML-Attribute
Das <Transition>
-Tag verwendet mehrere Attribute, um die Eigenschaften der Animation und die Bedingungen für das Auftreten der Animation zu definieren.
Untergeordnete XML-Elemente
<Event>
definiert die Attribute des Ereignisses, das den Übergang auslösen kann.
Attribut | Status | Beschreibung |
---|---|---|
<id> |
Obligatorisch | Eindeutige Kennung des Ereignisses, mit dem der Trigger aktiviert werden soll. |
<panelId> |
Optional | Eindeutige ID des mit dem Ereignis verknüpften Panels. |
componentName |
Optional | Der mit diesem Ereignis verknüpfte Komponentenname. |
packageName |
Optional | Der mit dem Ereignis verknüpfte Paketname. |
Beispielcode
<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>