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 スレッドが応答しない場合、UI スレッドが別のフレームをプッシュできるようになるまで、RenderThread はアニメーション化を続ける可能性があります。 したがって、RenderThread 対応 AnimatedVectorDrawable を UI スレッド アニメーションと正確に調整することはできません。 さらに、 は、 android.graphics.drawable.Animatable2.AnimationCallback#onAnimationEnd(Drawable)
RenderThread で AnimatedVectorDrawable が終了した後にフレームと呼ばれます。
AnimatedVectorDrawable は、3 つの個別の XML ファイルまたは 1 つの XML で定義できます。
"ThreeXML"><h3>アニメーション化するプロパティを含む VectorDrawable の 3 つの個別の XML ファイル</h3><ul> "VDExample"><li><h4>XML で AnimatedVectorDrawable< を定義する/h4>
アニメーションは、 のアニメーション化可能な属性に android.graphics.drawable.VectorDrawable
対して実行できます。 これらの属性は によって android.animation.ObjectAnimator
アニメーション化されます。 ObjectAnimator のターゲットには、ルート要素、グループ要素、またはパス要素を指定できます。 対象となる要素は、同じ VectorDrawable 内で一意に名前を付ける必要があります。 アニメーションのない要素に名前を付ける必要はありません。
table border="2" align="center" cellpadding="5"<>thead<>tr><th>Element Name/th><>animatable attribute name<</th<>/tr></thead><tr<>td><android.graphics.drawable.VectorDrawable
<ベクター></td td>><alpha</td></tr tr><tr><td rowspan="7"><グループ></td td><>rotation</td></tr tr<>td><>pivotX</td></tr tr><td>><pivotY</td></tr tr>><<td>scaleX</td></tr tr<>td><>scaleY</td></tr tr<>td>><translateX</td></tr tr>><<td>translateY</td></tr tr tr><tr><td rowspan="9"><パス></td td>pathData</td></tr tr td><>><fillColor</td></tr tr><<>td>strokeColor</td></tr tr><<>td>strokeWidth</td/tr tr>><<td>>< strokeAlpha</td/tr tr><<>td><> fillAlpha</td></tr tr>><<Tr><td>trimPathStart</td></tr tr<>td><>trimPathEnd</td></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>
</李>
"AVDExample"><li><h4>XML for AnimatedVectorDrawable</h4>
AnimatedVectorDrawable 要素には、VectorDrawable 属性と 1 つ以上のターゲット要素があります。 target 要素は、android:name 属性でターゲットを指定し、ターゲットを適切な ObjectAnimator または AnimatorSet by android:animation 属性にリンクできます。
次のコード サンプルでは、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 の 2 つのアニメーションが使用されました。
rotation.xml は、ターゲット グループを 6000 ミリ秒で 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>AnimatedVectorDrawable すべてを 1 つの XML ファイル</h3 に定義する>
AAPT ツールでは、関連する XML ファイルをいくつかバンドルする新しい形式がサポートされているため、前の例の XML ファイルを 1 つの 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>
の android.graphics.drawable.AnimatedVectorDrawable
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。
コンストラクター
AnimatedVectorDrawable() | |
AnimatedVectorDrawable(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
プロパティ
Alpha |
描画可能なの現在のアルファ値を取得します。 (継承元 Drawable) |
AutoMirrored |
レイアウト方向が RTL 右から左の場合に、この Drawable が自動的にミラー化されるかどうかを示します。 または、レイアウト方向が RTL (右から左) の場合に、この Drawable を自動的にミラー化するかどうかを設定します。 (継承元 Drawable) |
Bounds |
描画可能な境界 Rect を返します。 または、 Drawable の外接する四角形を指定します。 (継承元 Drawable) |
Callback |
この Drawable にアタッチされている現在 |
ChangingConfigurations |
この描画可能な値が変更される可能性がある構成パラメーターのマスクを返し、再作成する必要があります。 または、このドローアブルが変更される可能性がある構成パラメーターのマスクを設定し、再作成する必要があります。 (継承元 Drawable) |
Class |
この |
ColorFilter |
現在のカラー フィルターを返すか |
Current |
このクラスは、 または |
DirtyBounds |
描画可能なダーティ境界 Rect を返します。 (継承元 Drawable) |
Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
HasFocusStateSpecified |
この描画可能に、 を明示的に指定する状態仕様が少なくとも 1 つあるかどうかを示します |
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 |
Return insets the layout insets suggested by this Drawable for use with alignment operations during layout. (継承元 Drawable) |
PeerReference |
このクラスは、 または |
ThresholdClass |
この API は Mono for Android インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
ThresholdType |
この API は Mono for Android インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
TransparentRegion |
完全に透明な Drawable の部分を表す Region を返します。 (継承元 Drawable) |
メソッド
ApplyTheme(Resources+Theme) |
指定したテーマをこの Drawable とその子に適用します。 (継承元 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 によって提案されたインセットを埋め込むで返します。 (継承元 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() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
OnBoundsChange(Rect) |
境界に基づいて変化する場合は、サブクラスでこれをオーバーライドして外観を変更します。 (継承元 Drawable) |
OnLayoutDirectionChanged(Int32) |
描画可能なレイアウトの解決された方向が変更されたときに呼び出されます。 (継承元 Drawable) |
OnLevelChange(Int32) |
レベルに基づいて変化する場合は、サブクラスでこれをオーバーライドして外観を変更します。 (継承元 Drawable) |
OnStateChange(Int32[]) |
サブクラスでこれをオーバーライドして、指定した状態を認識した場合に外観を変更します。 (継承元 Drawable) |
RegisterAnimationCallback(Animatable2AnimationCallback) |
このクラスは、 または |
Reset() |
AnimatedVectorDrawable をアニメーターで指定された開始状態にリセットします。 |
ScheduleSelf(Action, Int64) |
このクラスは、 または |
ScheduleSelf(IRunnable, Int64) |
現在 |
SetAlpha(Int32) |
描画可能な図形のアルファ値を指定します。 0 は完全に透明を意味し、255 は完全に不透明を意味します。 |
SetBounds(Int32, Int32, Int32, Int32) |
Drawable の外接する四角形を指定します。 (継承元 Drawable) |
SetCallback(Drawable+ICallback) |
オブジェクトを |
SetColorFilter(Color, PorterDuff+Mode) |
この描画可能なカラー フィルターとして色と Porter-Duff モードを指定します。 (継承元 Drawable) |
SetColorFilter(ColorFilter) |
描画可能な色フィルターを省略可能に指定します。 |
SetDither(Boolean) |
true に設定すると、1 色コンポーネントあたり 8 ビット未満のデバイスに描画されるときに、描画可能なディザリングの色が表示されます。 (継承元 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 を表示するかどうかを設定します。 (継承元 Drawable) |
Start() |
描画可能なアニメーションを開始します。 |
Stop() |
描画可能なアニメーションを停止します。 |
ToArray<T>() |
このクラスは、 または |
ToString() |
オブジェクトの文字列形式を返します。 (継承元 Object) |
UnregisterAnimationCallback(Animatable2AnimationCallback) |
このクラスは、 または |
UnregisterFromRuntime() |
このクラスは、 または |
UnscheduleSelf(Action) |
このクラスは、 または |
UnscheduleSelf(IRunnable) |
現在 |
Wait() |
現在のスレッドが起動するまで待機します。通常<は、通知</em> または>< em 中断</em によって待機します>。> (継承元 Object) |
Wait(Int64) |
現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。 (継承元 Object) |
Wait(Int64, Int32) |
現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。 (継承元 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) |
このクラスは、 または |