Use uma transição para definir mudanças entre painéis. É possível definir uma transição para descrever como e quando fazer uma mudança entre duas variantes de um painel. É possível definir uma lista de transições para cada painel.
Use a tag XML <Transitions>
como um contêiner para uma ou mais definições <Transition>
na configuração de um único <TaskPanel>
ou <DecorPanel>
.
Você pode usar essa tag para definir um conjunto de regras de animação que governam quando e como
um painel deve mudar o estado visual de uma variante distinta para outra.
Atributos XML
A tag <Transitions>
pode definir valores padrão para estes elementos filhos <Transition>
:
Atributo | Status | Descrição |
---|---|---|
<defaultDuration> |
Opcional | Especifica uma duração padrão em milissegundos a ser aplicada a todos os
filhos Elementos A constante |
defaultInterpolator |
Opcional | Faz referência a um ID de recurso XML do Android Interpolator. Por exemplo,
Se nenhum interpolador padrão for especificado, o sistema geralmente usará um |
Elementos filhos XML
O elemento filho de <Transitions>
é <Transition>
, o elemento principal usado para definir um caminho de animação específico entre variantes de PanelState
. Vários elementos <Transition>
podem ser aninhados em um único bloco <Transitions>
.
Exemplo de código
Neste exemplo, fromVariant
é opcional. Quando não é definida, a variante atual é usada. Se fromVariant
for definido, a transição será usada apenas quando todos os parâmetros corresponderem. Os parâmetros são especificados no evento e em 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>
Transição
Uma transição descreve como animar uma mudança no estado visual entre duas variantes de um painel. Uma transição descreve o caminho de uma variante para outra. Para isso, a transição especifica detalhes como a animação a ser aplicada e o evento necessário para acionar a animação.
Para um painel, as transições podem definir animações para propriedades como limites, visibilidade e alfa. Se um animador personalizado não for especificado, um animador padrão será usado.
Atributos XML
A tag <Transition>
usa vários atributos para definir as características da
animação e as condições em que ela vai ocorrer.
Elementos filhos XML
<Event>
define as propriedades do evento que podem acionar a transição.
Atributo | Status | Descrição |
---|---|---|
<id> |
Obrigatório | Identificador exclusivo do evento para ativar o gatilho. |
<panelId> |
Opcional | Identificador exclusivo do painel associado ao evento. |
componentName |
Opcional | Nome do componente associado a esse evento. |
packageName |
Opcional | Nome do pacote associado ao evento. |
Exemplo de código
<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>