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 jednej <Transition>definicji w konfiguracji pojedynczego <TaskPanel> lub <DecorPanel>.
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> |
Opcjonalny | Określa domyślny czas trwania w milisekundach, który ma być stosowany do wszystkich elementów podrzędnych Elementy Jeśli ten atrybut nie jest określony, używana jest stała |
defaultInterpolator |
Opcjonalny | Odwołuje się do identyfikatora zasobu XML interpolatora Androida. Na przykład: Jeśli nie określisz domyślnego interpolatora, system zwykle używa domyślnie interpolatora |
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żdżać wiele elementów <Transition>.
Kod demonstracyjny
W tym przykładzie fromVariant jest opcjonalne. Jeśli nie jest zdefiniowany, używana jest bieżąca odmiana. Jeśli zdefiniowano 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 niestandardowy animator, 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.
| Atrybut | Stan | Opis |
|---|---|---|
<id> |
Obowiązkowe | Unikalny identyfikator zdarzenia, które ma aktywować regułę. |
<panelId> |
Opcjonalny | Niepowtarzalny identyfikator panelu powiązanego ze zdarzeniem. |
componentName |
Opcjonalny | Nazwa komponentu powiązanego z tym zdarzeniem. |
packageName |
Opcjonalny | Nazwa pakietu powiązanego ze zdarzeniem. |
Kod demonstracyjny
<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>