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>