AnimatedVectorDrawable Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Questa classe anima le proprietà di un oggetto android.graphics.drawable.VectorDrawable con animazioni definite usando android.animation.ObjectAnimator o android.animation.AnimatorSet.
[Android.Runtime.Register("android/graphics/drawable/AnimatedVectorDrawable", DoNotGenerateAcw=true)]
public class AnimatedVectorDrawable : Android.Graphics.Drawables.Drawable, Android.Graphics.Drawables.IAnimatable2, IDisposable
[<Android.Runtime.Register("android/graphics/drawable/AnimatedVectorDrawable", DoNotGenerateAcw=true)>]
type AnimatedVectorDrawable = class
inherit Drawable
interface IAnimatable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IAnimatable2
- Ereditarietà
- Attributi
- Implementazioni
Commenti
Questa classe anima le proprietà di un oggetto android.graphics.drawable.VectorDrawable con animazioni definite usando android.animation.ObjectAnimator o android.animation.AnimatorSet.
A partire dall'API 25, AnimatedVectorDrawable viene eseguito in RenderThread (anziché nel thread dell'interfaccia utente per le API precedenti). Ciò significa che le animazioni in AnimatedVectorDrawable possono rimanere fluide anche quando è presente un carico di lavoro elevato nel thread dell'interfaccia utente. Nota: se il thread dell'interfaccia utente non risponde, RenderThread può continuare l'animazione fino a quando il thread dell'interfaccia utente non è in grado di eseguire il push di un altro fotogramma. Pertanto, non è possibile coordinare con precisione un Oggetto AnimatedVectorDrawable abilitato per RenderThread con animazioni thread dell'interfaccia utente. Inoltre, android.graphics.drawable.Animatable2.AnimationCallback#onAnimationEnd(Drawable) verrà chiamato il fotogramma dopo il completamento di AnimatedVectorDrawable in RenderThread.
AnimatedVectorDrawable può essere definito in tre file XML separati o in un file XML.
"ThreeXML"><h3>Define an AnimatedVectorDrawable in tre file< XML separati/h3><ul> "VDExample"><li><h4>XML for the VectorDrawable containing properties to be animated</h4>
Le animazioni possono essere eseguite sugli attributi animabili in android.graphics.drawable.VectorDrawable. Questi attributi verranno animati da android.animation.ObjectAnimator. La destinazione di ObjectAnimator può essere l'elemento radice, un elemento di gruppo o un elemento path. Gli elementi di destinazione devono essere denominati in modo univoco all'interno dello stesso VectorDrawable. Gli elementi senza animazione non devono essere denominati.
Ecco tutti gli attributi animabili in
Di seguito è riportato un esempio di VectorDrawable definito in vectordrawable.xml. Questo oggetto VectorDrawable viene indicato dal relativo nome file (non incluso il suffisso di file) nell'esempio XML AnimatedVectorDrawable.
<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>
</li>
"AVDExample"><li><h4>XML per AnimatedVectorDrawable</h4>
Un elemento AnimatedVectorDrawable ha un attributo VectorDrawable e uno o più elementi di destinazione. L'elemento di destinazione può specificare la destinazione in base all'attributo android:name e collegare la destinazione all'attributo ObjectAnimator o AnimatorSet appropriato per android:animation.
L'esempio di codice seguente definisce un oggetto AnimatedVectorDrawable. Si noti che i nomi fanno riferimento ai gruppi e ai percorsi nel codice XML VectorDrawable precedente.
<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>
</li>
<LI><h4>XML per le animazioni definite tramite ObjectAnimator o AnimatorSet</h4>
Nell'esempio precedente di AnimatedVectorDrawable sono state usate due animazioni: rotation.xml e path_morph.xml.
rotation.xml ruota il gruppo di destinazione da 0 a 360 gradi oltre 6000 ms:
<objectAnimator
android:duration="6000"
android:propertyName="rotation"
android:valueFrom="0"
android:valueTo="360" />
path_morph.xml trasforma il percorso da una forma all'altra. Si noti che i percorsi devono essere compatibili per il morphing. In particolare, i percorsi devono avere gli stessi comandi, nello stesso ordine, e devono avere lo stesso numero di parametri per ogni comando. È consigliabile archiviare le stringhe di percorso come risorse stringa per il riutilizzo.
<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>Define an AnimatedVectorDrawable all in one XML file</h3>
Poiché lo strumento AAPT supporta un nuovo formato che aggrega diversi file XML correlati, è possibile unire i file XML degli esempi precedenti in un unico file 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>
per android.graphics.drawable.AnimatedVectorDrawable.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Costruttori
| Nome | Descrizione |
|---|---|
| AnimatedVectorDrawable() | |
| AnimatedVectorDrawable(IntPtr, JniHandleOwnership) |
Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime. |
Proprietà
| Nome | Descrizione |
|---|---|
| Alpha |
Ottiene il valore alfa corrente per l'oggetto drawable. (Ereditato da Drawable) |
| AutoMirrored |
Indica se l'oggetto Drawable verrà automaticamente sottoposto a mirroring quando la direzione del layout è RTL da destra a sinistra. -oppure- Imposta se questa proprietà Drawable viene automaticamente con mirroring quando la direzione del layout è RTL (da destra a sinistra). (Ereditato da Drawable) |
| Bounds |
Restituisce i limiti dell'oggetto drawable Rect. -oppure- Specificare un rettangolo di delimitazione per l'oggetto Drawable. (Ereditato da Drawable) |
| Callback |
Restituisce l'implementazione corrente |
| ChangingConfigurations |
Restituisce una maschera dei parametri di configurazione per i quali può cambiare questo elemento drawable, richiedendo che venga ricreato. -oppure- Impostare una maschera dei parametri di configurazione per i quali questa modifica può essere modificata, richiedendo che venga ricreata. (Ereditato da Drawable) |
| Class |
Restituisce la classe di runtime di questo |
| ColorFilter |
Restituisce il filtro colore corrente o |
| Current | (Ereditato da Drawable) |
| DirtyBounds |
Restituisce i limiti sporchi dell'oggetto disegnabile Rect. (Ereditato da Drawable) |
| Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
| HasFocusStateSpecified |
Indica se questo oggetto drawable ha almeno una specifica di stato che specifica in modo esplicito |
| IntrinsicHeight |
Restituisce l'altezza intrinseca dell'oggetto drawable. (Ereditato da Drawable) |
| IntrinsicWidth |
Restituisce la larghezza intrinseca dell'oggetto drawable. (Ereditato da Drawable) |
| IsFilterBitmap |
Questa classe anima le proprietà di un oggetto |
| IsProjected |
Indica se questa proiezione di richieste disegnabili. (Ereditato da Drawable) |
| IsRunning |
Indica se l'animazione è in esecuzione. |
| IsStateful |
Indica se questo elemento drawable cambierà l'aspetto in base allo stato. (Ereditato da Drawable) |
| IsVisible | (Ereditato da Drawable) |
| JniIdentityHashCode |
Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| JniManagedPeerState |
Questa classe anima le proprietà di un oggetto |
| JniPeerMembers |
Questa classe anima le proprietà di un oggetto |
| LayoutDirection |
Restituisce la direzione del layout risolto per questo elemento Drawable. (Ereditato da Drawable) |
| Level |
Recuperare il livello corrente. (Ereditato da Drawable) |
| MinimumHeight |
Restituisce l'altezza minima suggerita da questo oggetto Drawable. (Ereditato da Drawable) |
| MinimumWidth |
Restituisce la larghezza minima suggerita da questo oggetto Drawable. (Ereditato da Drawable) |
| Opacity |
Restituisce l'opacità/trasparenza di questo elemento Drawable. |
| OpticalInsets |
Restituisce in imposta gli inset di layout suggeriti da questo elemento Drawable per l'uso con operazioni di allineamento durante il layout. (Ereditato da Drawable) |
| PeerReference |
Ottiene il riferimento all'oggetto JNI per questo peer Java. (Ereditato da Object) |
| ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
| ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
| TransparentRegion |
Restituisce un'area che rappresenta la parte dell'oggetto Drawable completamente trasparente. (Ereditato da Drawable) |
Metodi
| Nome | Descrizione |
|---|---|
| ApplyTheme(Resources+Theme) |
Applica il tema specificato a questo elemento Drawable e ai relativi elementi figlio. (Ereditato da Drawable) |
| CanApplyTheme() | (Ereditato da Drawable) |
| ClearAnimationCallbacks() |
Rimuove tutti i callback di animazione esistenti. |
| ClearColorFilter() |
Rimuove il filtro colori per questo elemento disegnabile. (Ereditato da Drawable) |
| Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Questa classe anima le proprietà di un oggetto |
| CopyBounds() |
Restituisce una copia dei limiti di drawable in un nuovo rect. (Ereditato da Drawable) |
| CopyBounds(Rect) |
Restituisce una copia dei limiti dell'oggetto drawable nell'oggetto Rect specificato (allocato dal chiamante). (Ereditato da Drawable) |
| Dispose() |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| Dispose(Boolean) |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| DisposeUnlessReferenced() |
Questa classe anima le proprietà di un oggetto |
| Draw(Canvas) |
Disegna l'oggetto AnimatedVectorDrawable nell'area di disegno specificata. |
| Equals(Object) |
Questa classe anima le proprietà di un oggetto |
| Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
| GetConstantState() |
Restituisce un'istanza |
| GetHashCode() |
Restituisce un valore di codice hash per l'oggetto . (Ereditato da Object) |
| GetHotspotBounds(Rect) |
Popola |
| GetOutline(Outline) |
Viene chiamato per ottenere l'elemento drawable per popolare l'oggetto Outline che definisce l'area di disegno. (Ereditato da Drawable) |
| GetPadding(Rect) |
Restituisce in spaziatura interna gli inset suggeriti da questo elemento Drawable per posizionare il contenuto all'interno dei limiti di drawable. (Ereditato da Drawable) |
| GetState() |
Descrive lo stato corrente, come unione di stati primitivi, ad esempio |
| Inflate(Resources, XmlReader, IAttributeSet, Resources+Theme) |
Gonfiare questo elemento drawable da una risorsa XML. (Ereditato da Drawable) |
| Inflate(Resources, XmlReader, IAttributeSet) |
Gonfiare questo elemento drawable da una risorsa XML. (Ereditato da Drawable) |
| InflateAsync(Resources, XmlReader, IAttributeSet, Resources+Theme) |
Questa classe anima le proprietà di un oggetto |
| InflateAsync(Resources, XmlReader, IAttributeSet) |
Questa classe anima le proprietà di un oggetto |
| InvalidateSelf() |
Utilizzare l'implementazione corrente |
| JavaFinalize() |
Obsoleti.
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
| JumpToCurrentState() |
Se l'oggetto Drawable esegue la transizione delle animazioni tra gli stati, chiedere di passare immediatamente allo stato corrente e ignorare le animazioni attive. (Ereditato da Drawable) |
| Mutate() |
Rendere questa modifica modificabile disegnabile. (Ereditato da Drawable) |
| Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| NotifyAll() |
Riattiva tutti i thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| OnBoundsChange(Rect) |
Eseguire l'override di questa impostazione nella sottoclasse per modificare l'aspetto se si modifica in base ai limiti. (Ereditato da Drawable) |
| OnLayoutDirectionChanged(Int32) |
Chiamato quando cambia la direzione del layout risolto dell'oggetto drawable. (Ereditato da Drawable) |
| OnLevelChange(Int32) |
Eseguire l'override di questa impostazione nella sottoclasse per modificare l'aspetto se si modifica in base al livello. (Ereditato da Drawable) |
| OnStateChange(Int32[]) |
Eseguire l'override di questa classe nella sottoclasse per modificare l'aspetto se si riconosce lo stato specificato. (Ereditato da Drawable) |
| RegisterAnimationCallback(Animatable2AnimationCallback) |
Aggiunge un callback per ascoltare gli eventi di animazione. |
| Reset() |
Reimposta lo stato iniziale di AnimatedVectorDrawable come specificato negli animatori. |
| ScheduleSelf(Action, Int64) |
Questa classe anima le proprietà di un oggetto |
| ScheduleSelf(IRunnable, Int64) |
Utilizzare l'implementazione corrente |
| SetAlpha(Int32) |
Specificare un valore alfa per l'oggetto drawable. 0 significa completamente trasparente e 255 significa completamente opaco. |
| SetBounds(Int32, Int32, Int32, Int32) |
Specificare un rettangolo di delimitazione per Drawable. (Ereditato da Drawable) |
| SetCallback(Drawable+ICallback) |
Associare un |
| SetColorFilter(Color, PorterDuff+Mode) |
Specificare un colore e una modalità Porter-Duff come filtro colori per questo elemento disegnabile. (Ereditato da Drawable) |
| SetColorFilter(ColorFilter) |
Specificare un filtro colore facoltativo per l'elemento drawable. |
| SetDither(Boolean) |
Impostare su true per fare in modo che il ditherable disegnabile quando viene disegnato in un dispositivo con meno di 8 bit per ogni componente di colore. (Ereditato da Drawable) |
| SetFilterBitmap(Boolean) |
Impostare su true per fare in modo che il filtro disegnabile le bitmap con campionamento bilineare quando vengono ridimensionate o ruotate. (Ereditato da Drawable) |
| SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
| SetHotspot(Single, Single) |
Specifica la posizione dell'hotspot all'interno dell'oggetto drawable. (Ereditato da Drawable) |
| SetHotspotBounds(Int32, Int32, Int32, Int32) |
Imposta i limiti a cui è vincolato l'hotspot, se devono essere diversi dai limiti disegnabili. (Ereditato da Drawable) |
| SetLayoutDirection(LayoutDirection) |
Impostare la direzione del layout per questo elemento disegnabile. (Ereditato da Drawable) |
| SetLevel(Int32) |
Specificare il livello per l'elemento drawable. (Ereditato da Drawable) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Questa classe anima le proprietà di un oggetto |
| SetState(Int32[]) |
Specificare un set di stati per l'oggetto drawable. (Ereditato da Drawable) |
| SetTint(Int32) |
Specifica il colore della tinta per questo elemento disegnabile. (Ereditato da Drawable) |
| SetTintBlendMode(BlendMode) |
Specifica una modalità di fusione della tinta per questo elemento drawable. (Ereditato da Drawable) |
| SetTintList(ColorStateList) |
Specifica il colore della tinta per questo elemento disegnabile come elenco di stati colore. (Ereditato da Drawable) |
| SetTintMode(PorterDuff+Mode) |
Specifica una modalità di fusione della tinta per questo elemento drawable. (Ereditato da Drawable) |
| SetVisible(Boolean, Boolean) |
Impostare se l'oggetto Drawable è visibile. (Ereditato da Drawable) |
| Start() |
Avvia l'animazione disegnabile. |
| Stop() |
Arresta l'animazione disegnabile. |
| ToArray<T>() |
Crea una matrice gestita da questo wrapper di matrice Java. (Ereditato da Object) |
| ToString() |
Restituisce una rappresentazione di stringa dell'oggetto . (Ereditato da Object) |
| UnregisterAnimationCallback(Animatable2AnimationCallback) |
Rimuove il callback di animazione specificato. |
| UnregisterFromRuntime() |
Annulla la registrazione di questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| UnscheduleSelf(Action) |
Questa classe anima le proprietà di un oggetto |
| UnscheduleSelf(IRunnable) |
Utilizzare l'implementazione corrente |
| Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
| Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
| Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IJavaPeerable.Disposed() |
Questa classe anima le proprietà di un oggetto |
| IJavaPeerable.Finalized() |
Questa classe anima le proprietà di un oggetto |
| IJavaPeerable.JniObjectReferenceControlBlock |
Questa classe anima le proprietà di un oggetto |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Questa classe anima le proprietà di un oggetto |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Questa classe anima le proprietà di un oggetto |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Questa classe anima le proprietà di un oggetto |
| IJavaPeerable.UnregisterFromRuntime() |
Questa classe anima le proprietà di un oggetto |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ottiene il nome JNI del tipo dell'istanza |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Questa classe anima le proprietà di un oggetto |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Provare a digitare |