AnimatedVectorDrawable Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Esta clase anima las propiedades de un objeto android.graphics.drawable.VectorDrawable
con animaciones definidas mediante 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, 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
- Herencia
- Atributos
- Implementaciones
Comentarios
Esta clase anima las propiedades de un objeto android.graphics.drawable.VectorDrawable
con animaciones definidas mediante android.animation.ObjectAnimator
o android.animation.AnimatorSet
.
A partir de la API 25, AnimatedVectorDrawable se ejecuta en RenderThread (en lugar de en el subproceso de interfaz de usuario para las API anteriores). Esto significa que las animaciones de AnimatedVectorDrawable pueden permanecer fluidas incluso cuando hay una carga de trabajo pesada en el subproceso de la interfaz de usuario. Nota: Si el subproceso de la interfaz de usuario no responde, RenderThread puede continuar animando hasta que el subproceso de interfaz de usuario sea capaz de insertar otro fotograma. Por lo tanto, no es posible coordinar con precisión un Objeto AnimatedVectorDrawable habilitado para RenderThread con animaciones de subproceso de interfaz de usuario. Además, android.graphics.drawable.Animatable2.AnimationCallback#onAnimationEnd(Drawable)
se llamará al fotograma después de que el AnimatedVectorDrawable finalice en RenderThread.
AnimatedVectorDrawable se puede definir en tres archivos XML independientes o en un XML.
"ThreeXML"><h3>Define an AnimatedVectorDrawable in three separate XML files</h3><ul> "VDExample"><li><h4>XML for the VectorDrawable containing properties to be animated</h4>
Las animaciones se pueden realizar en los atributos animables de android.graphics.drawable.VectorDrawable
. Estos atributos se animarán mediante android.animation.ObjectAnimator
. El destino de ObjectAnimator puede ser el elemento raíz, un elemento group o un elemento path. Los elementos de destino deben denominarse de forma única dentro del mismo VectorDrawable. No es necesario asignar un nombre a los elementos sin animación.
Estos son todos los atributos animables en 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>< < vector></td td>><alpha</td></tr tr><><td rowspan="7">< group></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><td rowspan="9">< ruta de acceso></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><td>trimPathStart</td></tr tr td>>><<trimPathEnd</td></tr tr td>><><trimPathOffset</td></tr tr><td>><< clip-path></td><td>pathData</td></tr></table>
A continuación se muestra un ejemplo de vectordrawable definido en vectordrawable.xml. Este vectorDrawable se conoce por su nombre de archivo (sin incluir el sufijo de archivo) en el ejemplo 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 para AnimatedVectorDrawable</h4>
Un elemento AnimatedVectorDrawable tiene un atributo VectorDrawable y uno o varios elementos de destino. El elemento de destino puede especificar su destino por el atributo android:name y vincular el destino con el atributo ObjectAnimator o AnimatorSet adecuado por android:animation.
En el ejemplo de código siguiente se define un AnimatedVectorDrawable. Tenga en cuenta que los nombres hacen referencia a los grupos y rutas de acceso del XML VectorDrawable anterior.
<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 para animaciones definidas mediante ObjectAnimator o AnimatorSet</h4>
En el ejemplo anterior de AnimatedVectorDrawable, se usaron dos animaciones: rotation.xml y path_morph.xml.
rotation.xml gira el grupo de destino de 0 a 360 grados más de 6000 ms:
<objectAnimator
android:duration="6000"
android:propertyName="rotation"
android:valueFrom="0"
android:valueTo="360" />
path_morph.xml transforma el trazado de una forma en la otra. Tenga en cuenta que las rutas de acceso deben ser compatibles para la transformación. En concreto, las rutas de acceso deben tener los mismos comandos, en el mismo orden y deben tener el mismo número de parámetros para cada comando. Se recomienda almacenar cadenas de ruta de acceso como recursos de cadena para su reutilización.
<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>Definir un AnimatedVectorDrawable todo en un archivo< XML/h3>
Dado que la herramienta AAPT admite un nuevo formato que agrupa varios archivos XML relacionados, podemos combinar los archivos XML de los ejemplos anteriores en un archivo 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>
Documentación de Java para android.graphics.drawable.AnimatedVectorDrawable
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código Project y que se usan según los términos Creative Commons 2.5 Attribution License.
Constructores
AnimatedVectorDrawable() | |
AnimatedVectorDrawable(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución. |
Propiedades
Alpha |
Obtiene el valor alfa actual para el dibujable. (Heredado de Drawable) |
AutoMirrored |
Indica si este Drawable se reflejará automáticamente cuando su dirección de diseño sea RTL de derecha a izquierda. -o bien- Establece si este drawable se refleja automáticamente cuando su dirección de diseño es RTL (de derecha a izquierda). (Heredado de Drawable) |
Bounds |
Devuelve los límites dibujables Rect. -o bien- Especifique un rectángulo delimitador para drawable. (Heredado de Drawable) |
Callback |
Devuelve la implementación actual |
ChangingConfigurations |
Devuelve una máscara de los parámetros de configuración para los que este drawable puede cambiar, lo que requiere que se vuelva a crear. -o bien- Establezca una máscara de los parámetros de configuración para los que este drawable puede cambiar, lo que requiere que se vuelva a crear. (Heredado de Drawable) |
Class |
Devuelve la clase en tiempo de ejecución de este |
ColorFilter |
Devuelve el filtro de color actual o |
Current |
Esta clase anima las propiedades de un objeto |
DirtyBounds |
Devuelve los límites sucios del dibujable Rect. (Heredado de Drawable) |
Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
HasFocusStateSpecified |
Indica si este drawable tiene al menos una especificación de estado que especifique |
IntrinsicHeight |
Devuelve el alto intrínseco del dibujable. (Heredado de Drawable) |
IntrinsicWidth |
Devuelve el ancho intrínseco del dibujable. (Heredado de Drawable) |
IsFilterBitmap |
Esta clase anima las propiedades de un objeto |
IsProjected |
Si esta proyección de solicitudes dibujables. (Heredado de Drawable) |
IsRunning |
Indica si la animación se está ejecutando. |
IsStateful |
Indica si este drawable cambiará su apariencia en función del estado. (Heredado de Drawable) |
IsVisible |
Esta clase anima las propiedades de un objeto |
JniIdentityHashCode |
Esta clase anima las propiedades de un objeto |
JniPeerMembers |
Esta clase anima las propiedades de un objeto |
LayoutDirection |
Devuelve la dirección de diseño resuelta para este drawable. (Heredado de Drawable) |
Level |
Recupere el nivel actual. (Heredado de Drawable) |
MinimumHeight |
Devuelve el alto mínimo sugerido por este drawable. (Heredado de Drawable) |
MinimumWidth |
Devuelve el ancho mínimo sugerido por este drawable. (Heredado de Drawable) |
Opacity |
Devuelve la opacidad/transparencia de este drawable. |
OpticalInsets |
Devuelve insets the layout insets suggested by this Drawable for use with alignment operations during layout. (Heredado de Drawable) |
PeerReference |
Esta clase anima las propiedades de un objeto |
ThresholdClass |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
ThresholdType |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
TransparentRegion |
Devuelve una región que representa la parte del drawable que es completamente transparente. (Heredado de Drawable) |
Métodos
ApplyTheme(Resources+Theme) |
Aplica el tema especificado a este drawable y a sus elementos secundarios. (Heredado de Drawable) |
CanApplyTheme() |
Esta clase anima las propiedades de un objeto |
ClearAnimationCallbacks() |
Esta clase anima las propiedades de un objeto |
ClearColorFilter() |
Quita el filtro de color de este dibujable. (Heredado de Drawable) |
Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
CopyBounds() |
Devuelve una copia de los límites del dibujable en un nuevo rect. (Heredado de Drawable) |
CopyBounds(Rect) |
Devuelve una copia de los límites del dibujable en el rect especificado (asignado por el autor de la llamada). (Heredado de Drawable) |
Dispose() |
Esta clase anima las propiedades de un objeto |
Dispose(Boolean) |
Esta clase anima las propiedades de un objeto |
Draw(Canvas) |
Dibuja AnimatedVectorDrawable en el lienzo especificado. |
Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
GetConstantState() |
Devuelve una |
GetHashCode() |
Devuelve un valor de código hash del objeto. (Heredado de Object) |
GetHotspotBounds(Rect) |
|
GetOutline(Outline) |
Se llama para obtener el drawable para rellenar el esquema que define su área de dibujo. (Heredado de Drawable) |
GetPadding(Rect) |
Vuelva al relleno de los conjuntos sugeridos por este drawable para colocar el contenido dentro de los límites del dibujable. (Heredado de Drawable) |
GetState() |
Describe el estado actual, como una unión de estados primitve, como |
Inflate(Resources, XmlReader, IAttributeSet) |
Infla este elemento dibujable a partir de un recurso XML. (Heredado de Drawable) |
Inflate(Resources, XmlReader, IAttributeSet, Resources+Theme) |
Infla este elemento dibujable a partir de un recurso XML. (Heredado de Drawable) |
InflateAsync(Resources, XmlReader, IAttributeSet) |
Esta clase anima las propiedades de un objeto |
InflateAsync(Resources, XmlReader, IAttributeSet, Resources+Theme) |
Esta clase anima las propiedades de un objeto |
InvalidateSelf() |
Use la implementación actual |
JavaFinalize() |
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto . (Heredado de Object) |
JumpToCurrentState() |
Si este Drawable realiza animaciones de transición entre estados, pida que salte inmediatamente al estado actual y omita las animaciones activas. (Heredado de Drawable) |
Mutate() |
Haga que esta mutable dibujable. (Heredado de Drawable) |
Notify() |
Activa un único subproceso que está esperando en el monitor de este objeto. (Heredado de Object) |
NotifyAll() |
Activa todos los subprocesos que están esperando en el monitor de este objeto. (Heredado de Object) |
OnBoundsChange(Rect) |
Invalide esto en la subclase para cambiar la apariencia si varía en función de los límites. (Heredado de Drawable) |
OnLayoutDirectionChanged(Int32) |
Se llama cuando cambia la dirección de diseño resuelta del dibujable. (Heredado de Drawable) |
OnLevelChange(Int32) |
Invalide esta opción en la subclase para cambiar la apariencia si varía en función del nivel. (Heredado de Drawable) |
OnStateChange(Int32[]) |
Invalide esta opción en la subclase para cambiar la apariencia si reconoce el estado especificado. (Heredado de Drawable) |
RegisterAnimationCallback(Animatable2AnimationCallback) |
Esta clase anima las propiedades de un objeto |
Reset() |
Restablece animatedVectorDrawable al estado de inicio tal y como se especifica en los animadores. |
ScheduleSelf(Action, Int64) |
Esta clase anima las propiedades de un objeto |
ScheduleSelf(IRunnable, Int64) |
Use la implementación actual |
SetAlpha(Int32) |
Especifique un valor alfa para el dibujable. 0 significa totalmente transparente y 255 significa totalmente opaco. |
SetBounds(Int32, Int32, Int32, Int32) |
Especifique un rectángulo delimitador para drawable. (Heredado de Drawable) |
SetCallback(Drawable+ICallback) |
Enlace un |
SetColorFilter(Color, PorterDuff+Mode) |
Especifique un color y Porter-Duff modo para que sea el filtro de color para este dibujable. (Heredado de Drawable) |
SetColorFilter(ColorFilter) |
Especifique un filtro de color opcional para el dibujable. |
SetDither(Boolean) |
Establézcalo en true para que el dither dibujable sus colores se dibuje en un dispositivo con menos de 8 bits por componente de color. (Heredado de Drawable) |
SetFilterBitmap(Boolean) |
Establézcalo en true para que el filtro dibuje sus mapas de bits con muestreo bilineal cuando se escalan o giran. (Heredado de Drawable) |
SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
SetHotspot(Single, Single) |
Especifica la ubicación de la zona activa dentro del elemento dibujable. (Heredado de Drawable) |
SetHotspotBounds(Int32, Int32, Int32, Int32) |
Establece los límites a los que está restringido el punto de acceso, si deben ser diferentes de los límites dibujables. (Heredado de Drawable) |
SetLayoutDirection(LayoutDirection) |
Establezca la dirección del diseño para este dibujable. (Heredado de Drawable) |
SetLevel(Int32) |
Especifique el nivel para el dibujable. (Heredado de Drawable) |
SetState(Int32[]) |
Especifique un conjunto de estados para el dibujable. (Heredado de Drawable) |
SetTint(Int32) |
Especifica el color de tono para este dibujable. (Heredado de Drawable) |
SetTintBlendMode(BlendMode) |
Especifica un modo de fusión de tono para este dibujable. (Heredado de Drawable) |
SetTintList(ColorStateList) |
Especifica el color de tono para este dibujable como una lista de estados de color. (Heredado de Drawable) |
SetTintMode(PorterDuff+Mode) |
Especifica un modo de fusión de tono para este dibujable. (Heredado de Drawable) |
SetVisible(Boolean, Boolean) |
Establezca si este drawable está visible. (Heredado de Drawable) |
Start() |
Inicia la animación del dibujable. |
Stop() |
Detiene la animación del dibujable. |
ToArray<T>() |
Esta clase anima las propiedades de un objeto |
ToString() |
Devuelve una representación de cadena del objeto. (Heredado de Object) |
UnregisterAnimationCallback(Animatable2AnimationCallback) |
Esta clase anima las propiedades de un objeto |
UnregisterFromRuntime() |
Esta clase anima las propiedades de un objeto |
UnscheduleSelf(Action) |
Esta clase anima las propiedades de un objeto |
UnscheduleSelf(IRunnable) |
Use la implementación actual |
Wait() |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em> o <em>interrumpido</em>.<>< (Heredado de Object) |
Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Implementaciones de interfaz explícitas
IJavaPeerable.Disposed() |
Esta clase anima las propiedades de un objeto |
IJavaPeerable.DisposeUnlessReferenced() |
Esta clase anima las propiedades de un objeto |
IJavaPeerable.Finalized() |
Esta clase anima las propiedades de un objeto |
IJavaPeerable.JniManagedPeerState |
Esta clase anima las propiedades de un objeto |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Esta clase anima las propiedades de un objeto |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Esta clase anima las propiedades de un objeto |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Esta clase anima las propiedades de un objeto |
Métodos de extensión
JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
JavaCast<TResult>(IJavaObject) |
Esta clase anima las propiedades de un objeto |
GetJniTypeName(IJavaPeerable) |
Esta clase anima las propiedades de un objeto |