Konfigurowanie przejścia

Użyj przejścia, aby określić zmiany między panelami. Możesz zdefiniować przejście, aby określić, jak i kiedy wprowadzić zmianę między 2 wariantami panelu. Dla każdego panelu możesz zdefiniować listę przejść.

Użyj tagu XML <Transitions> jako kontenera dla co najmniej 1 definicji w konfiguracji pojedynczego elementu <TaskPanel> lub <DecorPanel>.<Transition> Za pomocą tego tagu możesz zdefiniować zestaw reguł animacji, które określają, kiedy i jak panel powinien zmieniać stan wizualny z jednego odrębnego wariantu na inny.

Atrybuty XML

Tag <Transitions> może definiować domyślne wartości tych elementów podrzędnych <Transition>:

Atrybut Stan Opis
<defaultDuration> Opcjonalnie

Określa domyślny czas trwania w milisekundach, który ma być stosowany do wszystkich elementów podrzędnych

Elementy <Transition>, które nie mają wyraźnie ustawionego atrybutu czasu trwania.

Jeśli ten atrybut nie jest określony, używana jest stała DEFAULT_DURATION systemu, zwykle 300 milisekund.

defaultInterpolator Opcjonalnie

Odnosi się do identyfikatora zasobu XML interpolatora Androida. Na przykład: @android:anim/accelerate_decelerate_interpolator. Interpolator jest używany domyślnie we wszystkich elementach podrzędnych <Transition>, w których nie ustawiono wyraźnie atrybutu interpolatora.

Jeśli nie określono domyślnego interpolatora, system zwykle domyślnie używa interpolatora AccelerateDecelerateInterpolator.

Elementy podrzędne XML

Elementem podrzędnym elementu <Transitions> jest <Transition>, czyli element podstawowy używany do definiowania konkretnej ścieżki animacji między wariantami PanelState. W jednym bloku <Transitions> można zagnieździć wiele elementów <Transition>.

Przykładowy kod

W tym przykładzie fromVariant jest opcjonalne. Jeśli nie jest zdefiniowany, używana jest bieżąca odmiana. Jeśli zdefiniowano parametr fromVariant, przejście jest używane tylko wtedy, gdy wszystkie parametry są zgodne. Parametry są określone w zdarzeniu i 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>

Przejście

Przejście opisuje, jak animować zmianę stanu wizualnego między 2 wariantami panelu. Przejście określa ścieżkę od jednego wariantu do drugiego. W tym celu przejście określa szczegóły, takie jak animacja do zastosowania i zdarzenie potrzebne do jej wywołania.

W przypadku panelu przejścia mogą definiować animacje właściwości takich jak granice, widoczność i wartość alfa. Jeśli nie zostanie określony animator niestandardowy, użyty zostanie animator domyślny.

Atrybuty XML

Tag <Transition> używa kilku atrybutów do określania charakterystyki animacji i warunków, w jakich ma się ona pojawiać.

Elementy podrzędne XML

<Event> określa właściwości zdarzenia, które może wywołać przejście.

Unikalny identyfikator panelu powiązanego z tym zdarzeniem.
Atrybut Stan Opis
<id> Obowiązkowe Unikalny identyfikator zdarzenia, które ma aktywować regułę.
<panelId> Opcjonalnie Niepowtarzalny identyfikator panelu powiązanego ze zdarzeniem.
componentName Opcjonalnie Nazwa komponentu powiązanego z tym zdarzeniem.
packageName Opcjonalnie Nazwa pakietu powiązanego ze zdarzeniem.

Przykładowy kod

<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>