AnimatedVectorDrawable Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Essa classe anima propriedades de um android.graphics.drawable.VectorDrawable com animações definidas usando android.animation.ObjectAnimator ou 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
- Herança
- Atributos
- Implementações
Comentários
Essa classe anima propriedades de um android.graphics.drawable.VectorDrawable com animações definidas usando android.animation.ObjectAnimator ou android.animation.AnimatorSet.
A partir da API 25, AnimatedVectorDrawable é executado em RenderThread (em vez de no thread da interface do usuário para APIs anteriores). Isso significa que as animações em AnimatedVectorDrawable podem permanecer suaves mesmo quando há uma carga de trabalho pesada no thread da interface do usuário. Observação: se o thread da interface do usuário não responder, o RenderThread poderá continuar animando até que o thread da interface do usuário seja capaz de enviar outro quadro. Portanto, não é possível coordenar com precisão um AnimatedVectorDrawable habilitado para RenderThread com animações de thread da interface do usuário. Além disso, android.graphics.drawable.Animatable2.AnimationCallback#onAnimationEnd(Drawable) será chamado o quadro após a conclusão do AnimatedVectorDrawable no RenderThread.
AnimatedVectorDrawable pode ser definido em três arquivos XML separados ou em um XML.
"ThreeXML"><h3>Defina um AnimatedVectorDrawable em três arquivos< XML separados/h3><ul> "VDExample"><li><h4>XML para o VectorDrawable contendo propriedades a serem animadas</h4>
As animações podem ser executadas nos atributos animáveis no android.graphics.drawable.VectorDrawable. Esses atributos serão animados por android.animation.ObjectAnimator. O destino do ObjectAnimator pode ser o elemento raiz, um elemento de grupo ou um elemento de caminho. Os elementos de destino precisam ser nomeados exclusivamente dentro do mesmo VectorDrawable. Elementos sem animação não precisam ser nomeados.
Aqui estão todos os atributos animáveis emandroid.graphics.drawable.VectorDrawable: table border="2" align="center" cellpadding="5"<>thead<>tr<>th<Nome> do elemento/th<>th<Nome do atributo> animatable/th<>/tr<>/thead<>tr<>td<
Abaixo está um exemplo de um VectorDrawable definido em vectordrawable.xml. Esse VectorDrawable é referido por seu nome de arquivo (sem incluir o sufixo de arquivo) no exemplo 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>
Um elemento AnimatedVectorDrawable tem um atributo VectorDrawable e um ou mais elementos de destino. O elemento de destino pode especificar seu destino pelo atributo android:name e vincular o destino ao atributo ObjectAnimator ou AnimatorSet adequado por android:animation.
O exemplo de código a seguir define um AnimatedVectorDrawable. Observe que os nomes se referem aos grupos e caminhos no XML VectorDrawable acima.
<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 animações definidas usando ObjectAnimator ou AnimatorSet</h4>
No exemplo anterior de AnimatedVectorDrawable, duas animações foram usadas: rotation.xml e path_morph.xml.
rotation.xml gira o grupo-alvo de 0 graus a 360 graus ao longo de 6000ms:
<objectAnimator
android:duration="6000"
android:propertyName="rotation"
android:valueFrom="0"
android:valueTo="360" />
path_morph.xml transforma o caminho de uma forma para a outra. Observe que os caminhos devem ser compatíveis para transformação. Especificamente, os caminhos devem ter os mesmos comandos, na mesma ordem, e devem ter o mesmo número de parâmetros para cada comando. É recomendável armazenar cadeias de caracteres de caminho como recursos de cadeia de caracteres para reutilização.
<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>Defina um AnimatedVectorDrawable tudo em um arquivo XML</h3>
Como a ferramenta AAPT oferece suporte a um novo formato que agrupa vários arquivos XML relacionados, podemos mesclar os arquivos XML dos exemplos anteriores em um arquivo 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>
Documentação Java para android.graphics.drawable.AnimatedVectorDrawable.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usadas de acordo com os termos descritos na Licença de Atribuição Creative Commons 2.5.
Construtores
| Nome | Description |
|---|---|
| AnimatedVectorDrawable() | |
| AnimatedVectorDrawable(IntPtr, JniHandleOwnership) |
Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo runtime. |
Propriedades
| Nome | Description |
|---|---|
| Alpha |
Obtém o valor alfa atual para o desenhável. (Herdado de Drawable) |
| AutoMirrored |
Informa se esse desenhável será espelhado automaticamente quando a direção do layout for RTL da direita para a esquerda. -ou- Defina se este Drawable é espelhado automaticamente quando a direção do layout for RTL (da direita para a esquerda). (Herdado de Drawable) |
| Bounds |
Retorne os limites do drawable Rect. -ou- Especifique um retângulo delimitador para o Drawable. (Herdado de Drawable) |
| Callback |
Retorne a implementação atual |
| ChangingConfigurations |
Retorna uma máscara dos parâmetros de configuração para os quais esse desenhável pode ser alterado, exigindo que ele seja recriado. -ou- Defina uma máscara dos parâmetros de configuração para os quais este desenhável pode ser alterado, exigindo que ele seja recriado. (Herdado de Drawable) |
| Class |
Retorna a classe de tempo de execução deste |
| ColorFilter |
Retorna o filtro de cor atual ou |
| Current | (Herdado de Drawable) |
| DirtyBounds |
Retorna os limites sujos do drawable Rect. (Herdado de Drawable) |
| Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
| HasFocusStateSpecified |
Indica se esse drawable tem pelo menos uma especificação de estado especificando |
| IntrinsicHeight |
Retorna a altura intrínseca do desenhável. (Herdado de Drawable) |
| IntrinsicWidth |
Retorna a largura intrínseca do desenhável. (Herdado de Drawable) |
| IsFilterBitmap |
Essa classe anima propriedades de um |
| IsProjected |
Se este desenhável solicita projeção. (Herdado de Drawable) |
| IsRunning |
Indica se a animação está em execução. |
| IsStateful |
Indica se esse desenhável mudará sua aparência com base no estado. (Herdado de Drawable) |
| IsVisible | (Herdado de Drawable) |
| JniIdentityHashCode |
Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade. (Herdado de Object) |
| JniManagedPeerState |
Essa classe anima propriedades de um |
| JniPeerMembers |
Essa classe anima propriedades de um |
| LayoutDirection |
Retorna a direção do layout resolvida para este desenhável. (Herdado de Drawable) |
| Level |
Recupere o nível atual. (Herdado de Drawable) |
| MinimumHeight |
Retorna a altura mínima sugerida por este Drawable. (Herdado de Drawable) |
| MinimumWidth |
Retorna a largura mínima sugerida por este Drawable. (Herdado de Drawable) |
| Opacity |
Retorne a opacidade/transparência deste Drawable. |
| OpticalInsets |
Retorne em inserções as inserções de layout sugeridas por este Drawable para uso com operações de alinhamento durante o layout. (Herdado de Drawable) |
| PeerReference |
Obtém a referência de objeto JNI para este par Java. (Herdado de Object) |
| ThresholdClass |
Essa API é compatível com a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código. |
| ThresholdType |
Essa API é compatível com a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código. |
| TransparentRegion |
Retorna uma região que representa a parte do desenhável que é completamente transparente. (Herdado de Drawable) |
Métodos
| Nome | Description |
|---|---|
| ApplyTheme(Resources+Theme) |
Aplica o tema especificado a este Desenhável e seus filhos. (Herdado de Drawable) |
| CanApplyTheme() | (Herdado de Drawable) |
| ClearAnimationCallbacks() |
Essa classe anima propriedades de um |
| ClearColorFilter() |
Remove o filtro de cor deste desenhável. (Herdado de Drawable) |
| Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Essa classe anima propriedades de um |
| CopyBounds() |
Devolva uma cópia dos limites do desenhável em um novo Rect. (Herdado de Drawable) |
| CopyBounds(Rect) |
Retorna uma cópia dos limites do drawable no Rect especificado (alocado pelo chamador). (Herdado de Drawable) |
| Dispose() |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| Dispose(Boolean) |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| DisposeUnlessReferenced() |
Essa classe anima propriedades de um |
| Draw(Canvas) |
Desenha o AnimatedVectorDrawable na tela fornecida. |
| Equals(Object) |
Essa classe anima propriedades de um |
| Equals(Object) |
Indica se algum outro objeto é "igual a" este. (Herdado de Object) |
| GetConstantState() |
Retorne uma |
| GetHashCode() |
Retorna um valor de código hash para o objeto. (Herdado de Object) |
| GetHotspotBounds(Rect) |
Preenche |
| GetOutline(Outline) |
Chamado para fazer com que o desenhável preencha o Contorno que define sua área de desenho. (Herdado de Drawable) |
| GetPadding(Rect) |
Retorne em preenchimento as inserções sugeridas por este Drawable para colocar o conteúdo dentro dos limites do drawable. (Herdado de Drawable) |
| GetState() |
Descreve o estado atual, como uma união de estados primitivos, como |
| Inflate(Resources, XmlReader, IAttributeSet, Resources+Theme) |
Inflar este Drawable de um recurso XML. (Herdado de Drawable) |
| Inflate(Resources, XmlReader, IAttributeSet) |
Inflar este Drawable de um recurso XML. (Herdado de Drawable) |
| InflateAsync(Resources, XmlReader, IAttributeSet, Resources+Theme) |
Essa classe anima propriedades de um |
| InflateAsync(Resources, XmlReader, IAttributeSet) |
Essa classe anima propriedades de um |
| InvalidateSelf() |
Use a implementação atual |
| JavaFinalize() |
Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto. (Herdado de Object) |
| JumpToCurrentState() |
Se esse desenhável fizer a transição de animações entre estados, peça que ele pule imediatamente para o estado atual e ignore todas as animações ativas. (Herdado de Drawable) |
| Mutate() |
Torne este desenhável mutável. (Herdado de Drawable) |
| Notify() |
Ativa um único thread que está aguardando no monitor desse objeto. (Herdado de Object) |
| NotifyAll() |
Ativa todos os threads que estão aguardando no monitor deste objeto. (Herdado de Object) |
| OnBoundsChange(Rect) |
Substitua isso em sua subclasse para alterar a aparência se você variar com base nos limites. (Herdado de Drawable) |
| OnLayoutDirectionChanged(Int32) |
Chamado quando a direção do layout resolvido do desenhável é alterada. (Herdado de Drawable) |
| OnLevelChange(Int32) |
Substitua isso em sua subclasse para mudar a aparência se você variar de acordo com o nível. (Herdado de Drawable) |
| OnStateChange(Int32[]) |
Substitua isso em sua subclasse para alterar a aparência se você reconhecer o estado especificado. (Herdado de Drawable) |
| RegisterAnimationCallback(Animatable2AnimationCallback) |
Essa classe anima propriedades de um |
| Reset() |
Redefine o AnimatedVectorDrawable para o estado inicial, conforme especificado nos animadores. |
| ScheduleSelf(Action, Int64) |
Essa classe anima propriedades de um |
| ScheduleSelf(IRunnable, Int64) |
Use a implementação atual |
| SetAlpha(Int32) |
Especifique um valor alfa para o desenhável. 0 significa totalmente transparente e 255 significa totalmente opaco. |
| SetBounds(Int32, Int32, Int32, Int32) |
Especifique um retângulo delimitador para o Drawable. (Herdado de Drawable) |
| SetCallback(Drawable+ICallback) |
Vincule um |
| SetColorFilter(Color, PorterDuff+Mode) |
Especifique uma cor e um modo de Porter-Duff para ser o filtro de cores para este desenhável. (Herdado de Drawable) |
| SetColorFilter(ColorFilter) |
Especifique um filtro de cor opcional para o desenhável. |
| SetDither(Boolean) |
Defina como true para que o pontilhamento desenhável tenha suas cores quando desenhado em um dispositivo com menos de 8 bits por componente de cor. (Herdado de Drawable) |
| SetFilterBitmap(Boolean) |
Defina como true para que o desenhável filtre seus bitmaps com amostragem bilinear quando eles forem dimensionados ou girados. (Herdado de Drawable) |
| SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle. (Herdado de Object) |
| SetHotspot(Single, Single) |
Especifica a localização do ponto de acesso no drawable. (Herdado de Drawable) |
| SetHotspotBounds(Int32, Int32, Int32, Int32) |
Define os limites aos quais o ponto de acesso é restrito, se eles devem ser diferentes dos limites desenháveis. (Herdado de Drawable) |
| SetLayoutDirection(LayoutDirection) |
Defina a direção do layout para este desenhável. (Herdado de Drawable) |
| SetLevel(Int32) |
Especifique o nível do desenhável. (Herdado de Drawable) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Essa classe anima propriedades de um |
| SetState(Int32[]) |
Especifique um conjunto de estados para o desenhável. (Herdado de Drawable) |
| SetTint(Int32) |
Especifica a cor da tonalidade para este desenhável. (Herdado de Drawable) |
| SetTintBlendMode(BlendMode) |
Especifica um modo de mesclagem de tonalidades para este desenhável. (Herdado de Drawable) |
| SetTintList(ColorStateList) |
Especifica a cor da tonalidade para este desenhável como uma lista de estado de cor. (Herdado de Drawable) |
| SetTintMode(PorterDuff+Mode) |
Especifica um modo de mesclagem de tonalidades para este desenhável. (Herdado de Drawable) |
| SetVisible(Boolean, Boolean) |
Defina se este desenhável está visível. (Herdado de Drawable) |
| Start() |
Inicia a animação do desenhável. |
| Stop() |
Interrompe a animação do desenhável. |
| ToArray<T>() |
Cria uma matriz gerenciada com base nesse wrapper de matriz Java. (Herdado de Object) |
| ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
| UnregisterAnimationCallback(Animatable2AnimationCallback) |
Essa classe anima propriedades de um |
| UnregisterFromRuntime() |
Cancela o registro desse par Java do runtime de interoperabilidade. (Herdado de Object) |
| UnscheduleSelf(Action) |
Essa classe anima propriedades de um |
| UnscheduleSelf(IRunnable) |
Use a implementação atual |
| Wait() |
Faz com que o thread atual aguarde até que seja despertado, normalmente sendo <notificado></em> ou <em>interrompido</em>. (Herdado de Object) |
| Wait(Int64, Int32) |
Faz com que o thread atual aguarde até que seja ativado, normalmente sendo <notificado></em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
| Wait(Int64) |
Faz com que o thread atual aguarde até que seja ativado, normalmente sendo <notificado></em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IJavaPeerable.Disposed() |
Essa classe anima propriedades de um |
| IJavaPeerable.Finalized() |
Essa classe anima propriedades de um |
| IJavaPeerable.JniObjectReferenceControlBlock |
Essa classe anima propriedades de um |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Essa classe anima propriedades de um |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Essa classe anima propriedades de um |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Essa classe anima propriedades de um |
| IJavaPeerable.UnregisterFromRuntime() |
Essa classe anima propriedades de um |
Métodos de Extensão
| Nome | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtém o nome JNI do tipo da instância |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo verificada pelo tempo de execução do Android. |
| JavaCast<TResult>(IJavaObject) |
Essa classe anima propriedades de um |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Tente coagir a digitar |