Usa una transición para definir los cambios entre los 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 <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 rigen 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 secundarios <Transition>
elementos:
| Atributo | Estado | Descripción |
|---|---|---|
<defaultDuration> |
Opcional | Especifica una duración predeterminada en milisegundos que se aplicará a todos los elementos secundarios
La constante |
defaultInterpolator |
Opcional | Hace referencia a un ID de recurso XML de interpolador 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 animación específica entre las variantes de PanelState. Se pueden anidar varios elementos
<Transition> dentro de un solo <Transitions> bloque.
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 se usa solo cuando coinciden todos los parámetros. Los parámetros se especifican en el evento y en 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 una variante a otra. Para ello, la transición especifica detalles como la animación que se 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 animador personalizado, se usa un animador 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 puede activar la transición.
| Atributo | Estado | Descripción |
|---|---|---|
<id> |
Obligatorio | Identificador único del evento para activar el activador. |
<panelId> |
Opcional | Identificador único del panel asociado con el evento. |
componentName |
Opcional | Nombre del componente asociado con este evento. |
packageName |
Opcional | Nombre del paquete asociado con el 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>