전환 구성

전환을 사용하여 패널 간의 변경사항을 정의합니다. 패널의 두 변형 간에 변경할 방법과 시기를 설명하는 전환을 정의할 수 있습니다. 각 패널의 전환 목록을 정의할 수 있습니다.

단일 <TaskPanel> 또는 <DecorPanel>의 구성에서 하나 이상의 <Transition> 정의의 컨테이너로 <Transitions> XML 태그를 사용합니다. 이 태그를 사용하여 패널이 한 가지 명확한 변형에서 다른 변형으로 시각적 상태를 변경해야 하는 시점과 방법을 관리하는 애니메이션 규칙 세트를 정의할 수 있습니다.

XML 속성

<Transitions> 태그는 다음 하위 <Transition> 요소의 기본값을 정의할 수 있습니다.

속성 상태 설명
<defaultDuration> 선택사항

모든 하위 에 적용할 기본 지속 시간을 밀리초 단위로 지정합니다.

<Transition> 요소가 기간 속성을 명시적으로 설정하지 않습니다.

이 속성을 지정하지 않으면 시스템의 DEFAULT_DURATION 상수(일반적으로 300밀리초)가 사용됩니다.

defaultInterpolator 선택사항

Android 보간기 XML 리소스 ID를 참조합니다. 예: @android:anim/accelerate_decelerate_interpolator 보간기는 보간기 속성을 명시적으로 설정하지 않는 모든 하위 <Transition> 요소의 기본값으로 사용됩니다.

기본 인터폴레이터가 지정되지 않은 경우 시스템은 일반적으로 AccelerateDecelerateInterpolator로 기본 설정됩니다.

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>