Usa una transición para definir los cambios entre paneles. Puedes definir una transición para describir cómo y cuándo realizar un cambio entre dos variantes de un panel. Puedes definir una lista de transiciones para cada panel.
Usa la etiqueta XML <Transitions> como contenedor para una o más definiciones de <Transition> en la configuración de un solo <TaskPanel> o <DecorPanel>.
Puedes usar esta etiqueta para definir un conjunto de reglas de animación que controlen cuándo y cómo un panel debe cambiar el estado visual de una variante distinta a otra.
Atributos XML
La etiqueta <Transitions> puede definir valores predeterminados para estos elementos <Transition> secundarios:
| Atributo | Estado | Descripción |
|---|---|---|
<defaultDuration> |
Opcional | Especifica una duración predeterminada en milisegundos que se aplicará a todos los elementos Elementos La constante |
defaultInterpolator |
Opcional | Hace referencia a un ID de recurso XML de Interpolator de Android. Por ejemplo,
Si no se especifica ningún interpolador predeterminado, el sistema suele usar un |
Elementos secundarios XML
El elemento secundario de <Transitions> es <Transition>, el elemento principal que se usa para definir una ruta de acceso de animación específica entre las variantes de PanelState. Se pueden anidar varios elementos <Transition> dentro de un solo bloque <Transitions>.
Código de muestra
En este ejemplo, fromVariant es opcional. Cuando no se define, se usa la variante actual. Si se define fromVariant, la transición solo se usa cuando coinciden todos los parámetros. Los parámetros se especifican en Event y 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>
Transición
Una transición describe cómo animar un cambio en el estado visual entre dos variantes de un panel. Una transición describe la ruta de acceso de una variante a otra. Para ello, la transición especifica detalles como la animación que se debe aplicar y el evento necesario para activar la animación.
En el caso de un panel, las transiciones pueden definir animaciones para propiedades como límites, visibilidad y alfa. Si no se especifica un objeto Animator personalizado, se usa uno predeterminado.
Atributos XML
La etiqueta <Transition> usa varios atributos para definir las características de la animación y las condiciones en las que debe ocurrir.
Elementos secundarios XML
<Event> define las propiedades del evento que pueden activar la transición.
| Atributo | Estado | Descripción |
|---|---|---|
<id> |
Obligatorio | Es el identificador único del evento para activar el disparador. |
<panelId> |
Opcional | Es el identificador único del panel asociado al evento. |
componentName |
Opcional | Es el nombre del componente asociado a este evento. |
packageName |
Opcional | Es el nombre del paquete asociado al evento. |
Código de muestra
<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>