Utilizza una transizione per definire le modifiche tra i riquadri. Puoi definire una transizione per descrivere come e quando apportare una modifica tra due varianti di un pannello. Puoi definire un elenco di transizioni per ogni riquadro.
Utilizza il tag XML <Transitions>
come contenitore per una o più definizioni <Transition>
nella configurazione di un singolo <TaskPanel>
o <DecorPanel>
.
Puoi utilizzare questo tag per definire un insieme di regole di animazione per stabilire quando e come
un pannello deve cambiare lo stato visivo da una variante distinta a un'altra.
Attributi XML
Il tag <Transitions>
può definire i valori predefiniti per questi elementi secondari <Transition>
:
Attributo | Stato | Descrizione |
---|---|---|
<defaultDuration> |
Facoltativo | Specifica una durata predefinita in millisecondi da applicare a tutti i
Elementi Se questo attributo non è specificato, viene utilizzata la costante |
defaultInterpolator |
Facoltativo | Fa riferimento a un ID risorsa XML di interpolatore Android. Ad esempio,
Se non viene specificato alcun interpolatore predefinito, il sistema in genere utilizza
un |
Elementi secondari XML
L'elemento secondario di <Transitions>
è <Transition>
, l'elemento principale
utilizzato per definire un percorso di animazione specifico tra le varianti PanelState
. È possibile nidificare più elementi
<Transition>
all'interno di un singolo blocco <Transitions>
.
Codice di esempio
In questo esempio, fromVariant
è facoltativo. Se non è definita, viene utilizzata la variante
corrente. Se è definito fromVariant
, la transizione viene utilizzata solo
quando tutti i parametri corrispondono. I parametri sono specificati in Evento e
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>
Transizione
Una transizione descrive come animare una modifica dello stato visivo tra due varianti di un pannello. Una transizione delinea il percorso da una variante all'altra. A questo scopo, la transizione specifica dettagli come l'animazione da applicare e l'evento necessario per attivarla.
Per un pannello, le transizioni possono definire animazioni per proprietà come limiti, visibilità e alfa. Se non viene specificato un animatore personalizzato, viene utilizzato un animatore predefinito.
Attributi XML
Il tag <Transition>
utilizza diversi attributi per definire le caratteristiche dell'animazione e le condizioni in cui deve verificarsi.
Elementi secondari XML
<Event>
definisce le proprietà dell'evento che può attivare la transizione.
Attributo | Stato | Descrizione |
---|---|---|
<id> |
Obbligatorio | Identificatore univoco dell'evento per attivare il trigger. |
<panelId> |
Facoltativo | Identificatore univoco del riquadro associato all'evento. |
componentName |
Facoltativo | Il nome del componente associato a questo evento. |
packageName |
Facoltativo | Nome del pacchetto associato all'evento. |
Codice di esempio
<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>