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 android.graphics.drawable.VectorDrawable objeto 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
[<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 android.graphics.drawable.VectorDrawable objeto 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 la 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 la 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 de grupo 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
A continuación se muestra un ejemplo de vectordrawable definido en vectordrawable.xml. Este vectorDrawable se conoce por su nombre de archivo (no incluido 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.
El ejemplo de código siguiente 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 de más de 6000 ms:
<objectAnimator
android:duration="6000"
android:propertyName="rotation"
android:valueFrom="0"
android:valueTo="360" />
path_morph.xml transforma la ruta de acceso de una forma a 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 juntos, 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>
Java documentación para android.graphics.drawable.AnimatedVectorDrawable.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Constructores
| Nombre | Description |
|---|---|
| AnimatedVectorDrawable() | |
| AnimatedVectorDrawable(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución. |
Propiedades
| Nombre | Description |
|---|---|
| Alpha |
Obtiene el valor alfa actual para el dibujable. (Heredado de Drawable) |
| AutoMirrored |
Indica si este objeto Drawable se reflejará automáticamente cuando su dirección de diseño sea RTL de derecha a izquierda. -o bien- Establecer 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 dibujable puede cambiar, lo que requiere que se vuelva a crear. -o bien- Establecer una máscara de los parámetros de configuración para los que este dibujable 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 | (Heredado de Drawable) |
| DirtyBounds |
Devuelve los límites sucios de Rect del dibujable. (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 especifica |
| 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 |
| IsProjected |
Indica si esta proyección de solicitudes dibujables. (Heredado de Drawable) |
| IsRunning |
Indica si la animación se está ejecutando. |
| IsStateful |
Indica si este dibujable cambiará su apariencia en función del estado. (Heredado de Drawable) |
| IsVisible | (Heredado de Drawable) |
| JniIdentityHashCode |
Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| JniManagedPeerState |
Esta clase anima las propiedades de un |
| JniPeerMembers |
Esta clase anima las propiedades de un |
| 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 objeto 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 en conjuntos los conjuntos de diseño sugeridos por este Drawable para su uso con operaciones de alineación durante el diseño. (Heredado de Drawable) |
| PeerReference |
Obtiene la referencia de objeto JNI para este Java del mismo nivel. (Heredado de Object) |
| 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 objeto Drawable que es completamente transparente. (Heredado de Drawable) |
Métodos
| Nombre | Description |
|---|---|
| ApplyTheme(Resources+Theme) |
Aplica el tema especificado a este drawable y sus elementos secundarios. (Heredado de Drawable) |
| CanApplyTheme() | (Heredado de Drawable) |
| ClearAnimationCallbacks() |
Esta clase anima las propiedades de un |
| ClearColorFilter() |
Quita el filtro de color para este dibujable. (Heredado de Drawable) |
| Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Esta clase anima las propiedades de un |
| CopyBounds() |
Devuelve una copia de los límites del dibujable en un nuevo rectángulo. (Heredado de Drawable) |
| CopyBounds(Rect) |
Devuelve una copia de los límites del objeto dibujable en el rectángulo especificado (asignado por el autor de la llamada). (Heredado de Drawable) |
| Dispose() |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| Dispose(Boolean) |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| DisposeUnlessReferenced() |
Esta clase anima las propiedades de un |
| Draw(Canvas) |
Dibuja AnimatedVectorDrawable en el lienzo especificado. |
| Equals(Object) |
Esta clase anima las propiedades de un |
| 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 para el objeto . (Heredado de Object) |
| GetHotspotBounds(Rect) |
|
| GetOutline(Outline) |
Se llama para obtener el objeto dibujable para rellenar el contorno que define su área de dibujo. (Heredado de Drawable) |
| GetPadding(Rect) |
Vuelva al relleno de los conjuntos sugeridos por este drawable para colocar contenido dentro de los límites del dibujable. (Heredado de Drawable) |
| GetState() |
Describe el estado actual, como una unión de estados primitivos, como |
| Inflate(Resources, XmlReader, IAttributeSet, Resources+Theme) |
Infla esto dibujable a partir de un recurso XML. (Heredado de Drawable) |
| Inflate(Resources, XmlReader, IAttributeSet) |
Infla esto dibujable a partir de un recurso XML. (Heredado de Drawable) |
| InflateAsync(Resources, XmlReader, IAttributeSet, Resources+Theme) |
Esta clase anima las propiedades de un |
| InflateAsync(Resources, XmlReader, IAttributeSet) |
Esta clase anima las propiedades de un |
| 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 esta opción 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 |
| Reset() |
Restablece animatedVectorDrawable al estado de inicio tal como se especifica en los animadores. |
| ScheduleSelf(Action, Int64) |
Esta clase anima las propiedades de un |
| 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 dibujable 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 de diseño para este dibujable. (Heredado de Drawable) |
| SetLevel(Int32) |
Especifique el nivel para el dibujable. (Heredado de Drawable) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Esta clase anima las propiedades de un |
| 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 combinación de tono para este dibujable. (Heredado de Drawable) |
| SetTintList(ColorStateList) |
Especifica el color de tono para este dibujo como una lista de estados de color. (Heredado de Drawable) |
| SetTintMode(PorterDuff+Mode) |
Especifica un modo de combinación de tono para este dibujable. (Heredado de Drawable) |
| SetVisible(Boolean, Boolean) |
Establezca si este objeto Drawable está visible. (Heredado de Drawable) |
| Start() |
Inicia la animación del dibujable. |
| Stop() |
Detiene la animación del dibujable. |
| ToArray<T>() |
Crea una matriz administrada a partir de este contenedor de matriz Java. (Heredado de Object) |
| ToString() |
Devuelve una representación de cadena del objeto . (Heredado de Object) |
| UnregisterAnimationCallback(Animatable2AnimationCallback) |
Esta clase anima las propiedades de un |
| UnregisterFromRuntime() |
Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| UnscheduleSelf(Action) |
Esta clase anima las propiedades de un |
| 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, 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) |
| 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) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IJavaPeerable.Disposed() |
Esta clase anima las propiedades de un |
| IJavaPeerable.Finalized() |
Esta clase anima las propiedades de un |
| IJavaPeerable.JniObjectReferenceControlBlock |
Esta clase anima las propiedades de un |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Esta clase anima las propiedades de un |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Esta clase anima las propiedades de un |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Esta clase anima las propiedades de un |
| IJavaPeerable.UnregisterFromRuntime() |
Esta clase anima las propiedades de un |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerció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 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |