AnimatedVectorDrawable 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이 클래스는 또는 android.animation.AnimatorSet
를 사용하여 정의된 애니메이션을 android.graphics.drawable.VectorDrawable
사용하여 의 속성에 android.animation.ObjectAnimator
애니메이션 효과를 줍니다.
[Android.Runtime.Register("android/graphics/drawable/AnimatedVectorDrawable", DoNotGenerateAcw=true)]
public class AnimatedVectorDrawable : Android.Graphics.Drawables.Drawable, Android.Graphics.Drawables.IAnimatable2, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/graphics/drawable/AnimatedVectorDrawable", DoNotGenerateAcw=true)>]
type AnimatedVectorDrawable = class
inherit Drawable
interface IAnimatable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IAnimatable2
- 상속
- 특성
- 구현
설명
이 클래스는 또는 android.animation.AnimatorSet
를 사용하여 정의된 애니메이션을 android.graphics.drawable.VectorDrawable
사용하여 의 속성에 android.animation.ObjectAnimator
애니메이션 효과를 줍니다.
API 25부터 AnimatedVectorDrawable은 RenderThread에서 실행됩니다(이전 API의 경우 UI 스레드와 반대). 즉, UI 스레드에 워크로드가 많은 경우에도 AnimatedVectorDrawable의 애니메이션이 원활하게 유지될 수 있습니다. 참고: UI 스레드가 응답하지 않는 경우 RenderThread는 UI 스레드가 다른 프레임을 푸시할 수 있을 때까지 애니메이션을 계속할 수 있습니다. 따라서 RenderThread 지원 AnimatedVectorDrawable을 UI 스레드 애니메이션과 정확하게 조정할 수 없습니다. 또한 는 android.graphics.drawable.Animatable2.AnimationCallback#onAnimationEnd(Drawable)
RenderThread에서 AnimatedVectorDrawable이 완료된 후 프레임이라고 합니다.
AnimatedVectorDrawable은 별도의 XML 파일 3개 또는 XML 1개에서 정의할 수 있습니다.
"ThreeXML"><h3>애니메이션/h4 속성을 포함하는 VectorDrawable에 대한 세 개의 개별 XML 파일</h3<>ul> "VDExample"><li><h4>XML에서 AnimatedVectorDrawable을< 정의합니다.>
애니메이션은 의 애니메이션 가능 특성에서 android.graphics.drawable.VectorDrawable
수행할 수 있습니다. 이러한 특성은 에 의해 android.animation.ObjectAnimator
애니메이션됩니다. ObjectAnimator의 대상은 루트 요소, 그룹 요소 또는 path 요소일 수 있습니다. 대상 요소는 동일한 VectorDrawable 내에서 고유하게 이름을 지정해야 합니다. 애니메이션이 없는 요소의 이름을 지정할 필요가 없습니다.
다음은 의 모든 애니메이션 가능한 특성android.graphics.drawable.VectorDrawable
입니다. table border="2" align="center" cellpadding="5"><thead><tr<>th>Element Name</th><>Animatable attribute name</th<>/tr/thead<>tr><>< td>< < 벡터></td td>><alpha</td></tr tr tr><td><rowspan="7">< 그룹></td td><>rotation</td></tr tr tr<>td<>>pivotX</td></tr tr><><td>pivotY</td></tr tr tr<<>>tr>scaleX</td<>/tr tr><tr<>tr>scaleY</td<>/tr tr<<>>td>translateX</td<>/tr tr><td>translateY</td/td></tr><><tr><td rowspan="9">< path></td td>><pathData</td></tr tr tr><<>td>fillColor</td></tr tr<>tr><td>strokeColor</td></tr tr<<>>tr td>strokeWidth</td<>/tr tr><tr><td>strokeAlpha</td<>/tr tr tr><td<>>fillAlpha</td></tr><Tr><td>trimPathStart</td></tr tr td><>><trimPathEnd</td></tr tr tr><<>td>trimPathOffset</td<>/tr tr><td><>< clip-path></td td><>pathData</td></tr></table>
다음은 vectordrawable.xml 정의된 VectorDrawable의 예입니다. 이 VectorDrawable은 AnimatedVectorDrawable XML 예제의 파일 이름(파일 접미사를 포함하지 않음)으로 참조됩니다.
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="64dp"
android:width="64dp"
android:viewportHeight="600"
android:viewportWidth="600" >
<group
android:name="rotationGroup"
android:pivotX="300.0"
android:pivotY="300.0"
android:rotation="45.0" >
<path
android:name="v"
android:fillColor="#000000"
android:pathData="M300,70 l 0,-70 70,70 0,0 -70,70z" />
</group>
</vector>
</리튬>
AnimatedVectorDrawable</h4>용 "AVDExample"><li><h4 XML>
AnimatedVectorDrawable 요소에는 VectorDrawable 특성과 하나 이상의 대상 요소가 있습니다. 대상 요소는 android:name 특성으로 대상을 지정하고 android:animation 특성별 적절한 ObjectAnimator 또는 AnimatorSet에 대상을 연결할 수 있습니다.
다음 코드 샘플에서는 AnimatedVectorDrawable을 정의합니다. 이름은 위의 VectorDrawable XML의 그룹 및 경로를 참조합니다.
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/vectordrawable" >
<target
android:name="rotationGroup"
android:animation="@animator/rotation" />
<target
android:name="v"
android:animation="@animator/path_morph" />
</animated-vector>
</리튬>
<ObjectAnimator 또는 AnimatorSet</h4를 사용하여 정의된 애니메이션용 li><h4>XML>
AnimatedVectorDrawable의 이전 예제에서 rotation.xml 및 path_morph.xml 두 개의 애니메이션이 사용되었습니다.
rotation.xml 대상 그룹을 6,000ms 이상 0도에서 360도로 회전합니다.
<objectAnimator
android:duration="6000"
android:propertyName="rotation"
android:valueFrom="0"
android:valueTo="360" />
path_morph.xml 한 셰이프에서 다른 도형으로 경로를 모핑합니다. 경로는 모핑과 호환되어야 합니다. 특히 경로에는 동일한 순서로 동일한 명령이 있어야 하며 각 명령에 대해 동일한 수의 매개 변수가 있어야 합니다. 다시 사용하려면 경로 문자열을 문자열 리소스로 저장하는 것이 좋습니다.
<set xmlns:android="http://schemas.android.com/apk/res/android">
<objectAnimator
android:duration="3000"
android:propertyName="pathData"
android:valueFrom="M300,70 l 0,-70 70,70 0,0 -70,70z"
android:valueTo="M300,70 l 0,-70 70,0 0,140 -70,0 z"
android:valueType="pathType"/>
</set>
</ul> "OneXML"><h3 하나의 XML 파일</h3>에서 모두 AnimatedVectorDrawable 정의>
AAPT 도구는 여러 관련 XML 파일을 함께 번들로 묶는 새 형식을 지원하므로 이전 예제의 XML 파일을 하나의 XML 파일로 병합할 수 있습니다.
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt" >
<aapt:attr name="android:drawable">
<vector
android:height="64dp"
android:width="64dp"
android:viewportHeight="600"
android:viewportWidth="600" >
<group
android:name="rotationGroup"
android:pivotX="300.0"
android:pivotY="300.0"
android:rotation="45.0" >
<path
android:name="v"
android:fillColor="#000000"
android:pathData="M300,70 l 0,-70 70,70 0,0 -70,70z" />
</group>
</vector>
</aapt:attr>
<target android:name="rotationGroup"> *
<aapt:attr name="android:animation">
<objectAnimator
android:duration="6000"
android:propertyName="rotation"
android:valueFrom="0"
android:valueTo="360" />
</aapt:attr>
</target>
<target android:name="v" >
<aapt:attr name="android:animation">
<set>
<objectAnimator
android:duration="3000"
android:propertyName="pathData"
android:valueFrom="M300,70 l 0,-70 70,70 0,0 -70,70z"
android:valueTo="M300,70 l 0,-70 70,0 0,140 -70,0 z"
android:valueType="pathType"/>
</set>
</aapt:attr>
</target>
</animated-vector>
에 대한 Java 설명서입니다 android.graphics.drawable.AnimatedVectorDrawable
.
이 페이지의 일부는 만들고 공유하며 에 설명된 조건에 따라 사용되는 작업을 기반으로 수정됩니다.
생성자
AnimatedVectorDrawable() | |
AnimatedVectorDrawable(IntPtr, JniHandleOwnership) |
JNI 개체의 관리형 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다. |
속성
Alpha |
그리기 가능 항목의 현재 알파 값을 가져옵니다. (다음에서 상속됨 Drawable) |
AutoMirrored |
레이아웃 방향이 RTL 오른쪽에서 왼쪽일 때 이 그리기 가능 개체가 자동으로 미러링되는지를 알려줍니다. -또는- 레이아웃 방향이 RTL(오른쪽에서 왼쪽)일 때 이 그리기 가능 항목이 자동으로 미러링되는지 여부를 설정합니다. (다음에서 상속됨 Drawable) |
Bounds |
그리기 가능 범위 Rect를 반환합니다. -또는- Drawable에 대한 경계 사각형을 지정합니다. (다음에서 상속됨 Drawable) |
Callback |
이 Drawable에 연결된 현재 |
ChangingConfigurations |
이 그리기 가능 개체가 변경될 수 있는 구성 매개 변수의 마스크를 반환하여 다시 만들어야 합니다. -또는- 이 그리기 가능 개체가 변경될 수 있는 구성 매개 변수의 마스크를 설정하여 다시 만들어야 합니다. (다음에서 상속됨 Drawable) |
Class |
이 |
ColorFilter |
현재 색 필터를 반환하거나 |
Current |
이 클래스는 또는 |
DirtyBounds |
그리기 개체의 더티 경계 Rect를 반환합니다. (다음에서 상속됨 Drawable) |
Handle |
기본 Android instance 대한 핸들입니다. (다음에서 상속됨 Object) |
HasFocusStateSpecified |
이 그리기 가능 항목에 를 명시적으로 지정하는 |
IntrinsicHeight |
그리기 개체의 내장 높이를 반환합니다. (다음에서 상속됨 Drawable) |
IntrinsicWidth |
그리기 개체의 내장 너비를 반환합니다. (다음에서 상속됨 Drawable) |
IsFilterBitmap |
이 클래스는 또는 |
IsProjected |
이 그리기 가능한 요청이 프로젝션을 요청하는지 여부입니다. (다음에서 상속됨 Drawable) |
IsRunning |
애니메이션이 실행 중인지 여부를 나타냅니다. |
IsStateful |
이 그리기 가능 항목이 상태에 따라 모양을 변경할지 여부를 나타냅니다. (다음에서 상속됨 Drawable) |
IsVisible |
이 클래스는 또는 |
JniIdentityHashCode |
이 클래스는 또는 |
JniPeerMembers |
이 클래스는 또는 |
LayoutDirection |
이 Drawable에 대해 확인된 레이아웃 방향을 반환합니다. (다음에서 상속됨 Drawable) |
Level |
현재 수준을 검색합니다. (다음에서 상속됨 Drawable) |
MinimumHeight |
이 Drawable에서 제안하는 최소 높이를 반환합니다. (다음에서 상속됨 Drawable) |
MinimumWidth |
이 Drawable에서 제안하는 최소 너비를 반환합니다. (다음에서 상속됨 Drawable) |
Opacity |
이 Drawable의 불투명도/투명도를 반환합니다. |
OpticalInsets |
레이아웃 중에 맞춤 작업에 사용하기 위해 이 Drawable에서 제안하는 레이아웃 인셋을 insets로 반환합니다. (다음에서 상속됨 Drawable) |
PeerReference |
이 클래스는 또는 |
ThresholdClass |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. |
ThresholdType |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. |
TransparentRegion |
완전히 투명한 Drawable 부분을 나타내는 Region을 반환합니다. (다음에서 상속됨 Drawable) |
메서드
ApplyTheme(Resources+Theme) |
이 그리기 가능 항목 및 해당 자식에 지정된 테마를 적용합니다. (다음에서 상속됨 Drawable) |
CanApplyTheme() |
이 클래스는 또는 |
ClearAnimationCallbacks() |
이 클래스는 또는 |
ClearColorFilter() |
이 그리기 가능 항목의 색 필터를 제거합니다. (다음에서 상속됨 Drawable) |
Clone() |
이 개체의 복사본을 만들고 반환합니다. (다음에서 상속됨 Object) |
CopyBounds() |
새 Rect에서 그리기 가능 범위의 복사본을 반환합니다. (다음에서 상속됨 Drawable) |
CopyBounds(Rect) |
지정된 Rect(호출자가 할당)에 있는 그리기 가능 범위의 복사본을 반환합니다. (다음에서 상속됨 Drawable) |
Dispose() |
이 클래스는 또는 |
Dispose(Boolean) |
이 클래스는 또는 |
Draw(Canvas) |
AnimatedVectorDrawable을 지정된 캔버스에 그립니다. |
Equals(Object) |
다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다. (다음에서 상속됨 Object) |
GetConstantState() |
이 Drawable의 |
GetHashCode() |
개체의 해시 코드 값을 반환합니다. (다음에서 상속됨 Object) |
GetHotspotBounds(Rect) |
|
GetOutline(Outline) |
그리기 영역을 정의하는 개요를 채우기 위해 그리기 가능 항목을 가져오기 위해 호출됩니다. (다음에서 상속됨 Drawable) |
GetPadding(Rect) |
그리기 가능 개체의 범위 내에 콘텐츠를 배치하기 위해 이 Drawable에서 제안한 insets를 안쪽 여백으로 반환합니다. (다음에서 상속됨 Drawable) |
GetState() |
현재 상태를 , |
Inflate(Resources, XmlReader, IAttributeSet) |
XML 리소스에서 이 Drawable을 확장합니다. (다음에서 상속됨 Drawable) |
Inflate(Resources, XmlReader, IAttributeSet, Resources+Theme) |
XML 리소스에서 이 Drawable을 확장합니다. (다음에서 상속됨 Drawable) |
InflateAsync(Resources, XmlReader, IAttributeSet) |
이 클래스는 또는 |
InflateAsync(Resources, XmlReader, IAttributeSet, Resources+Theme) |
이 클래스는 또는 |
InvalidateSelf() |
현재 |
JavaFinalize() |
가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다. (다음에서 상속됨 Object) |
JumpToCurrentState() |
이 Drawable이 상태 간에 애니메이션을 전환하는 경우 즉시 현재 상태로 이동하고 활성 애니메이션을 건너뛰도록 요청합니다. (다음에서 상속됨 Drawable) |
Mutate() |
이 그리기를 변경할 수 있도록 합니다. (다음에서 상속됨 Drawable) |
Notify() |
이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다. (다음에서 상속됨 Object) |
NotifyAll() |
이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다. (다음에서 상속됨 Object) |
OnBoundsChange(Rect) |
경계에 따라 달라지는 경우 모양을 변경하려면 하위 클래스에서 이를 재정의합니다. (다음에서 상속됨 Drawable) |
OnLayoutDirectionChanged(Int32) |
그리기 가능 개체의 확인된 레이아웃 방향이 변경될 때 호출됩니다. (다음에서 상속됨 Drawable) |
OnLevelChange(Int32) |
수준에 따라 달라지는 경우 모양을 변경하려면 서브클래스에서 이를 재정의합니다. (다음에서 상속됨 Drawable) |
OnStateChange(Int32[]) |
지정된 상태를 인식하는 경우 모양을 변경하려면 하위 클래스에서 이를 재정의합니다. (다음에서 상속됨 Drawable) |
RegisterAnimationCallback(Animatable2AnimationCallback) |
이 클래스는 또는 |
Reset() |
Animators에 지정된 대로 AnimatedVectorDrawable을 시작 상태로 다시 설정합니다. |
ScheduleSelf(Action, Int64) |
이 클래스는 또는 |
ScheduleSelf(IRunnable, Int64) |
현재 |
SetAlpha(Int32) |
그리기 가능 항목의 알파 값을 지정합니다. 0은 완전히 투명하고 255는 완전히 불투명한 것을 의미합니다. |
SetBounds(Int32, Int32, Int32, Int32) |
Drawable에 대한 경계 사각형을 지정합니다. (다음에서 상속됨 Drawable) |
SetCallback(Drawable+ICallback) |
이 Drawable에 |
SetColorFilter(Color, PorterDuff+Mode) |
색 및 Porter-Duff 모드를 이 그리기 가능 색 필터로 지정합니다. (다음에서 상속됨 Drawable) |
SetColorFilter(ColorFilter) |
그리기 가능 항목에 대한 선택적 색 필터를 지정합니다. |
SetDither(Boolean) |
색상 구성 요소당 8비트 미만의 디바이스에 그릴 때 그리기 가능 항목의 색을 디더링하려면 true로 설정합니다. (다음에서 상속됨 Drawable) |
SetFilterBitmap(Boolean) |
그리기 가능 항목이 크기 조정 또는 회전될 때 쌍선형 샘플링을 사용하여 비트맵을 필터링하려면 true로 설정합니다. (다음에서 상속됨 Drawable) |
SetHandle(IntPtr, JniHandleOwnership) |
Handle 속성을 설정합니다. (다음에서 상속됨 Object) |
SetHotspot(Single, Single) |
드로블 내에서 핫스팟의 위치를 지정합니다. (다음에서 상속됨 Drawable) |
SetHotspotBounds(Int32, Int32, Int32, Int32) |
핫스팟이 그리기 가능한 범위와 달라야 하는 경우 핫스팟이 제한되는 범위를 설정합니다. (다음에서 상속됨 Drawable) |
SetLayoutDirection(LayoutDirection) |
이 그리기 가능 개체의 레이아웃 방향을 설정합니다. (다음에서 상속됨 Drawable) |
SetLevel(Int32) |
그리기 가능 개체의 수준을 지정합니다. (다음에서 상속됨 Drawable) |
SetState(Int32[]) |
그리기 가능한 상태 집합을 지정합니다. (다음에서 상속됨 Drawable) |
SetTint(Int32) |
이 그리기 가능의 색조 색을 지정합니다. (다음에서 상속됨 Drawable) |
SetTintBlendMode(BlendMode) |
이 그리기 가능에 대한 색조 혼합 모드를 지정합니다. (다음에서 상속됨 Drawable) |
SetTintList(ColorStateList) |
이 그리기 가능 항목의 색조 색을 색 상태 목록으로 지정합니다. (다음에서 상속됨 Drawable) |
SetTintMode(PorterDuff+Mode) |
이 그리기 가능에 대한 색조 혼합 모드를 지정합니다. (다음에서 상속됨 Drawable) |
SetVisible(Boolean, Boolean) |
이 그리기 가능 개체가 표시되는지 여부를 설정합니다. (다음에서 상속됨 Drawable) |
Start() |
그리기 개체의 애니메이션을 시작합니다. |
Stop() |
그리기 개체의 애니메이션을 중지합니다. |
ToArray<T>() |
이 클래스는 또는 |
ToString() |
개체의 문자열 표현을 반환합니다. (다음에서 상속됨 Object) |
UnregisterAnimationCallback(Animatable2AnimationCallback) |
이 클래스는 또는 |
UnregisterFromRuntime() |
이 클래스는 또는 |
UnscheduleSelf(Action) |
이 클래스는 또는 |
UnscheduleSelf(IRunnable) |
현재 |
Wait() |
현재 스레드가 깨어날 때까지 대기하게 합니다( 일반적으로 <알림을 받><거나 <>중단/>em>)합니다<. (다음에서 상속됨 Object) |
Wait(Int64) |
현재 스레드가 깨어날 때까지 대기하게 합니다. 일반적으로 <>알림을 받<거나 <중단</>내보내>>거나 일정량의 실시간이 경과할 때까지 대기합니다. (다음에서 상속됨 Object) |
Wait(Int64, Int32) |
현재 스레드가 깨어날 때까지 대기하게 합니다. 일반적으로 <>알림을 받<거나 <중단</>내보내>>거나 일정량의 실시간이 경과할 때까지 대기합니다. (다음에서 상속됨 Object) |
명시적 인터페이스 구현
IJavaPeerable.Disposed() |
이 클래스는 또는 |
IJavaPeerable.DisposeUnlessReferenced() |
이 클래스는 또는 |
IJavaPeerable.Finalized() |
이 클래스는 또는 |
IJavaPeerable.JniManagedPeerState |
이 클래스는 또는 |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
이 클래스는 또는 |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
이 클래스는 또는 |
IJavaPeerable.SetPeerReference(JniObjectReference) |
이 클래스는 또는 |
확장 메서드
JavaCast<TResult>(IJavaObject) |
Android 런타임 확인 형식 변환을 수행합니다. |
JavaCast<TResult>(IJavaObject) |
이 클래스는 또는 |
GetJniTypeName(IJavaPeerable) |
이 클래스는 또는 |