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>