Share via


LayoutTransition 클래스

정의

이 클래스를 사용하면 ViewGroup 개체의 레이아웃 변경에 대한 자동 애니메이션을 사용할 수 있습니다.

[Android.Runtime.Register("android/animation/LayoutTransition", DoNotGenerateAcw=true)]
public class LayoutTransition : Java.Lang.Object
[<Android.Runtime.Register("android/animation/LayoutTransition", DoNotGenerateAcw=true)>]
type LayoutTransition = class
    inherit Object
상속
LayoutTransition
특성

설명

이 클래스를 사용하면 ViewGroup 개체의 레이아웃 변경에 대한 자동 애니메이션을 사용할 수 있습니다. 레이아웃 컨테이너에 대한 전환을 사용하도록 설정하려면 LayoutTransition 개체를 만들고 를 호출 ViewGroup#setLayoutTransition(LayoutTransition)하여 ViewGroup에서 설정합니다. 이렇게 하면 항목이 해당 컨테이너에 추가되거나 제거될 때마다 기본 애니메이션이 실행됩니다. 사용자 지정 애니메이션을 지정하려면 메서드를 LayoutTransition#setAnimator(int, Animator) setAnimator() 사용합니다.

이러한 전환 애니메이션의 핵심 개념 중 하나는 전환을 유발하는 두 가지 유형의 변경 내용과 이러한 변경으로 인해 실행되는 네 가지 애니메이션이 있다는 것입니다. 전환을 트리거하는 변경 내용은 컨테이너에 추가되거나("나타나는" 전환이라고도 함) 컨테이너에서 제거되는 항목입니다("사라짐"이라고도 함). 보기 표시 유형(GONE과 VISIBLE 사이)을 설정하면 동일한 추가/제거 논리가 트리거됩니다. 이러한 이벤트로 인해 실행되는 애니메이션은 추가되는 항목에 애니메이션 효과를 주는 애니메이션, 제거되는 항목에 애니메이션 효과를 주는 애니메이션, 추가/제거 발생으로 인해 변경되는 컨테이너의 다른 항목에 애니메이션 효과를 주는 애니메이션입니다. 전환 사용자는 나타나는 이벤트 또는 사라지는 이벤트로 인해 변경 중인 항목에 대해 다른 애니메이션을 원할 수 있으므로 이러한 변경 이벤트의 각 변형에 대해 하나의 애니메이션이 있습니다. 이 클래스의 대부분의 API는 이러한 네 가지 상황에서 사용되는 애니메이션의 기본 속성을 설정하거나 4개 중 어느 한 가지 또는 모두에 대한 사용자 지정 애니메이션 설정과 관련이 있습니다.

기본적으로 사라지는 애니메이션은 CHANGE_APPEARING 애니메이션과 마찬가지로 즉시 시작됩니다. 다른 애니메이션은 애니메이션의 기본 기간으로 설정된 지연 후에 시작됩니다. 이 동작은 다음과 같이 전환 시 애니메이션 시퀀스를 용이하게 합니다. 항목이 레이아웃에 추가될 때 해당 컨테이너의 다른 자식이 먼저 이동(새 항목에 대한 공간 만들기)된 다음 나타나는 애니메이션이 실행되어 추가되는 항목에 애니메이션 효과를 줍니다. 반대로, 컨테이너에서 항목을 제거하면 제거할 애니메이션이 먼저 실행되고 레이아웃에 있는 다른 자식의 애니메이션이 실행됩니다(항목이 제거될 때 레이아웃에서 생성된 간격을 닫음). 이 기본 안무 동작을 원하지 #setDuration(int, long) 않는 경우 애니메이션의 및 #setStartDelay(int, long) 를 적절하게 변경할 수 있습니다. 그러나 사라지는 애니메이션이 완료되기 전에 나타나는 애니메이션을 시작하면 사라지는 애니메이션이 중지되고 사라지는 애니메이션의 모든 효과가 되돌려집니다. 대신 나타나는 애니메이션이 완료되기 전에 사라지는 애니메이션을 시작하면 APPEARING 애니메이션에 대해 비슷한 효과 집합이 발생합니다.

전환 개체에 설정된 기본값과 사용자 지정 애니메이션 모두 전환에 대해 지정된 애니메이션은 템플릿에만 해당됩니다. 즉, 이러한 애니메이션은 기간, 시작 지연 및 애니메이션되는 속성과 같은 기본 애니메이션 속성을 보유하기 위해 존재합니다. 그러나 실제 대상 개체와 해당 속성의 시작 및 끝 값은 실행 될 때마다 전환을 설정하는 과정에서 자동으로 설정됩니다. 각 애니메이션은 원래 복사본에서 복제되고 복제는 애니메이션 효과를 주는 대상의 동적 값(예: 레이아웃 이벤트의 결과로 이동하는 레이아웃 컨테이너의 항목 중 하나)과 변경되는 값(예: 해당 개체의 위치 및 크기)으로 채워집니다. 각 애니메이션에 푸시되는 실제 값은 애니메이션에 대해 지정된 속성에 따라 달라집니다. 예를 들어 기본 CHANGE_APPEARING 애니메이션은 , , top, bottomright, scrollXscrollY 속성에 left애니메이션 효과를 불어넣습니다. 이러한 속성의 값은 전환이 시작될 때 사전 및 사후 레이아웃 값으로 업데이트됩니다. 사용자 지정 애니메이션은 대상 개체에 알려진 속성 이름과 함께 ObjectAnimator 개체를 사용한다고 가정하면 애니메이션 효과를 주는 대상 및 값으로 유사하게 채워집니다.

이 클래스와 컨테이너에 연결된 XML 플래그인 animateLayoutChanges="true"는 간단한 상황에서 변경을 자동화하기 위한 간단한 유틸리티를 제공합니다. 중첩된 뷰 계층 구조의 여러 수준에서 LayoutTransition을 사용하는 것은 다양한 레이아웃 수준의 상호 관계로 인해 작동하지 않을 수 있습니다. 또한 항목이 추가되거나 제거되는 동시에 스크롤되는 컨테이너는 이 유틸리티에 적합하지 않을 수 있습니다. LayoutTransition으로 계산된 이전/이후 위치는 애니메이션이 실행 중일 때 스크롤되는 컨테이너로 인해 애니메이션이 완료될 때 실제 위치와 일치하지 않을 수 있기 때문입니다. CHANGE_APPEARING 및 CHANGE_DISAPPEARING 애니메이션을 null로 설정하고 다른 애니메이션의 startDelay를 적절하게 설정하여 '변경' 애니메이션을 사용하지 않도록 설정하여 특정 문제를 해결할 수 있습니다.

에 대한 Java 설명서입니다 android.animation.LayoutTransition.

이 페이지의 일부는 만들고 공유하며 에 설명된 용어에 따라 사용되는 작업을 기반으로 수정됩니다.

생성자

LayoutTransition()

LayoutTransition 개체를 생성합니다.

LayoutTransition(IntPtr, JniHandleOwnership)

JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

필드

Appearing
사용되지 않음.

컨테이너에 표시되는 항목에서 실행되는 애니메이션을 나타내는 플래그입니다.

ChangeAppearing
사용되지 않음.

컨테이너에 표시되는 새 항목으로 인해 변경되는 항목에서 실행되는 애니메이션을 나타내는 플래그입니다.

ChangeDisappearing
사용되지 않음.

컨테이너에서 항목이 사라짐에 따라 변경되는 항목에서 실행되는 애니메이션을 나타내는 플래그입니다.

Changing
사용되지 않음.

컨테이너에 추가되거나 컨테이너에서 제거되는 항목으로 인해 발생하지 않는 레이아웃 변경으로 인해 변경되는 항목에서 실행되는 애니메이션을 나타내는 플래그입니다.

Disappearing
사용되지 않음.

컨테이너에서 사라지는 항목에서 실행되는 애니메이션을 나타내는 플래그입니다.

속성

Class

Object의 런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
Handle

기본 Android instance 대한 핸들입니다.

(다음에서 상속됨 Object)
IsChangingLayout

애니메이션이 실행되고 레이아웃 관련 속성에 애니메이션 효과를 주면 true를 반환합니다.

IsRunning

이 전환의 애니메이션이 현재 실행 중인 경우 true를 반환합니다.

JniIdentityHashCode

이 클래스를 사용하면 ViewGroup 개체의 레이아웃 변경에 대한 자동 애니메이션을 사용할 수 있습니다.

(다음에서 상속됨 Object)
JniPeerMembers

이 클래스를 사용하면 ViewGroup 개체의 레이아웃 변경에 대한 자동 애니메이션을 사용할 수 있습니다.

PeerReference

이 클래스를 사용하면 ViewGroup 개체의 레이아웃 변경에 대한 자동 애니메이션을 사용할 수 있습니다.

(다음에서 상속됨 Object)
ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

TransitionListeners

레이아웃 변경에 대한 수신기의 현재 목록을 가져옵니다.

메서드

AddChild(ViewGroup, View)

이 메서드는 자식 뷰가 컨테이너에 추가될 때 ViewGroup에서 호출됩니다.

AddTransitionListener(LayoutTransition+ITransitionListener)

레이아웃 처리로 인해 보기 범위가 변경될 때 호출되는 수신기를 추가합니다.

Clone()

이 개체의 복사본을 만들고 반환합니다.

(다음에서 상속됨 Object)
DisableTransitionType(LayoutTransitionType)

이 LayoutTransition 개체에 대해 지정된 transitionType을 사용하지 않도록 설정합니다.

Dispose()

이 클래스를 사용하면 ViewGroup 개체의 레이아웃 변경에 대한 자동 애니메이션을 사용할 수 있습니다.

(다음에서 상속됨 Object)
Dispose(Boolean)

이 클래스를 사용하면 ViewGroup 개체의 레이아웃 변경에 대한 자동 애니메이션을 사용할 수 있습니다.

(다음에서 상속됨 Object)
EnableTransitionType(LayoutTransitionType)

이 LayoutTransition 개체에 대해 지정된 transitionType을 사용하도록 설정합니다.

Equals(Object)

다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다.

(다음에서 상속됨 Object)
GetAnimator(LayoutTransitionType)

실행할 수 있는 전환 유형 중 하나에서 사용되는 애니메이션을 가져옵니다.

GetDuration(LayoutTransitionType)

이 전환에 사용되는 애니메이션 개체 중 하나의 기간을 가져옵니다.

GetHashCode()

개체의 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
GetInterpolator(LayoutTransitionType)

이 전환에 사용되는 애니메이션 개체 중 하나의 보간기를 가져옵니다.

GetStagger(LayoutTransitionType)

변경 애니메이션 중 하나에서 각 애니메이션을 시작하는 동안 지연되는 시간을 가져옵니다.

GetStartDelay(LayoutTransitionType)

이 전환에 사용되는 애니메이션 개체 중 하나에 대한 시작 지연을 가져옵니다.

HideChild(ViewGroup, View)
사용되지 않음.

이 멤버는 더 이상 사용되지 않습니다.

HideChild(ViewGroup, View, ViewStates)

이 메서드는 자식 뷰가 컨테이너에 숨겨질 때 ViewGroup에서 호출됩니다.

IsTransitionTypeEnabled(LayoutTransitionType)

이 LayoutTransition 개체에 대해 지정된 transitionType을 사용할 수 있는지 여부를 반환합니다.

JavaFinalize()

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
Notify()

이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다.

(다음에서 상속됨 Object)
NotifyAll()

이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다.

(다음에서 상속됨 Object)
RemoveChild(ViewGroup, View)

이 메서드는 컨테이너에서 자식 뷰를 제거하려고 할 때 ViewGroup에서 호출됩니다.

RemoveTransitionListener(LayoutTransition+ITransitionListener)

레이아웃 변경에 대한 수신기를 제거합니다.

SetAnimateParentHierarchy(Boolean)

이 플래그는 CHANGE_APPEARING 또는 CHANGE_DISAPPEARING 애니메이션으로 인해 부모 계층 구조에서도 기본 변경 애니메이션이 실행될지 여부를 제어합니다.

SetAnimator(LayoutTransitionType, Animator)

실행할 수 있는 전환 유형 중 하나에서 사용되는 애니메이션을 설정합니다.

SetDuration(Int64)

이 전환 개체의 모든 애니메이션에서 사용할 기간을 설정합니다.

SetDuration(LayoutTransitionType, Int64)

이 전환에서 사용하는 애니메이션 개체 중 하나의 기간을 설정합니다.

SetHandle(IntPtr, JniHandleOwnership)

Handle 속성을 설정합니다.

(다음에서 상속됨 Object)
SetInterpolator(LayoutTransitionType, ITimeInterpolator)

이 전환에 사용되는 애니메이션 개체 중 하나에서 보간기를 설정합니다.

SetStagger(LayoutTransitionType, Int64)

변경 애니메이션 중 하나에서 각 애니메이션을 시작하는 동안 지연되는 시간을 설정합니다.

SetStartDelay(LayoutTransitionType, Int64)

이 전환에 사용되는 애니메이션 개체 중 하나에 대한 시작 지연을 설정합니다.

ShowChild(ViewGroup, View)
사용되지 않음.

이 멤버는 더 이상 사용되지 않습니다.

ShowChild(ViewGroup, View, ViewStates)

이 메서드는 컨테이너에 자식 보기를 표시하려고 할 때 ViewGroup에서 호출됩니다.

ToArray<T>()

이 클래스를 사용하면 ViewGroup 개체의 레이아웃 변경에 대한 자동 애니메이션을 사용할 수 있습니다.

(다음에서 상속됨 Object)
ToString()

개체의 문자열 표현을 반환합니다.

(다음에서 상속됨 Object)
UnregisterFromRuntime()

이 클래스를 사용하면 ViewGroup 개체의 레이아웃 변경에 대한 자동 애니메이션을 사용할 수 있습니다.

(다음에서 상속됨 Object)
Wait()

현재 스레드가 각성될 때까지 대기하도록 합니다. 일반적으로 <알림을<> 받>거나<<> 중단/em>합니다.

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)

이벤트

EndTransition

이 클래스를 사용하면 ViewGroup 개체의 레이아웃 변경에 대한 자동 애니메이션을 사용할 수 있습니다.

StartTransition

이 클래스를 사용하면 ViewGroup 개체의 레이아웃 변경에 대한 자동 애니메이션을 사용할 수 있습니다.

명시적 인터페이스 구현

IJavaPeerable.Disposed()

이 클래스를 사용하면 ViewGroup 개체의 레이아웃 변경에 대한 자동 애니메이션을 사용할 수 있습니다.

(다음에서 상속됨 Object)
IJavaPeerable.DisposeUnlessReferenced()

이 클래스를 사용하면 ViewGroup 개체의 레이아웃 변경에 대한 자동 애니메이션을 사용할 수 있습니다.

(다음에서 상속됨 Object)
IJavaPeerable.Finalized()

이 클래스를 사용하면 ViewGroup 개체의 레이아웃 변경에 대한 자동 애니메이션을 사용할 수 있습니다.

(다음에서 상속됨 Object)
IJavaPeerable.JniManagedPeerState

이 클래스를 사용하면 ViewGroup 개체의 레이아웃 변경에 대한 자동 애니메이션을 사용할 수 있습니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

이 클래스를 사용하면 ViewGroup 개체의 레이아웃 변경에 대한 자동 애니메이션을 사용할 수 있습니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

이 클래스를 사용하면 ViewGroup 개체의 레이아웃 변경에 대한 자동 애니메이션을 사용할 수 있습니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

이 클래스를 사용하면 ViewGroup 개체의 레이아웃 변경에 대한 자동 애니메이션을 사용할 수 있습니다.

(다음에서 상속됨 Object)

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

이 클래스를 사용하면 ViewGroup 개체의 레이아웃 변경에 대한 자동 애니메이션을 사용할 수 있습니다.

GetJniTypeName(IJavaPeerable)

이 클래스를 사용하면 ViewGroup 개체의 레이아웃 변경에 대한 자동 애니메이션을 사용할 수 있습니다.

적용 대상