전환을 사용하여 패널 간의 변경사항을 정의합니다. 패널의 두 변형 간에 변경할 방법과 시기를 설명하는 전환을 정의할 수 있습니다. 각 패널의 전환 목록을 정의할 수 있습니다.
단일 <TaskPanel>
또는 <DecorPanel>
의 구성에서 하나 이상의 <Transition>
정의의 컨테이너로 <Transitions>
XML 태그를 사용합니다.
이 태그를 사용하여 패널이 한 가지 명확한 변형에서 다른 변형으로 시각적 상태를 변경해야 하는 시점과 방법을 관리하는 애니메이션 규칙 세트를 정의할 수 있습니다.
XML 속성
<Transitions>
태그는 다음 하위 <Transition>
요소의 기본값을 정의할 수 있습니다.
속성 | 상태 | 설명 |
---|---|---|
<defaultDuration> |
선택사항 | 모든 하위
이 속성을 지정하지 않으면 시스템의 |
defaultInterpolator |
선택사항 | Android 보간기 XML 리소스 ID를 참조합니다. 예: 기본 인터폴레이터가 지정되지 않은 경우 시스템은 일반적으로 |
XML 하위 요소
<Transitions>
의 하위 요소는 PanelState
변형 간의 특정 애니메이션 경로를 정의하는 데 사용되는 핵심 요소인 <Transition>
입니다. 여러 <Transition>
요소를 단일 <Transitions>
블록 내에 중첩할 수 있습니다.
샘플 코드
이 샘플에서 fromVariant
은 선택사항입니다. 정의되지 않은 경우 현재 변형이 사용됩니다. fromVariant
가 정의된 경우 모든 매개변수가 일치할 때만 전환이 사용됩니다. 매개변수는 이벤트 및 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>
Transition
전환은 패널의 두 변형 간에 시각적 상태의 변경사항을 애니메이션으로 처리하는 방법을 설명합니다. 전환은 변형에서 변형으로의 경로를 간략하게 설명합니다. 이렇게 하려면 전환에서 적용할 애니메이션, 애니메이션을 트리거하는 데 필요한 이벤트와 같은 세부정보를 지정합니다.
패널의 경우 전환은 경계, 표시 여부, 알파와 같은 속성의 애니메이션을 정의할 수 있습니다. 맞춤 애니메이터가 지정되지 않으면 기본 애니메이터가 사용됩니다.
XML 속성
<Transition>
태그는 여러 속성을 사용하여 애니메이션의 특징과 애니메이션이 발생해야 하는 조건을 정의합니다.
XML 하위 요소
<Event>
은 전환을 트리거할 수 있는 이벤트의 속성을 정의합니다.
속성 | 상태 | 설명 |
---|---|---|
<id> |
필수 | 트리거를 활성화할 이벤트의 고유 식별자입니다. |
<panelId> |
선택사항 | 이벤트와 연결된 패널의 고유 식별자입니다. |
componentName |
선택사항 | 이 이벤트와 연결된 구성요소 이름입니다. |
packageName |
선택사항 | 이벤트와 연결된 패키지 이름입니다. |
샘플 코드
<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>