LayoutTransition Clase

Definición

Esta clase habilita animaciones automáticas en los cambios de diseño en los objetos ViewGroup.

[Android.Runtime.Register("android/animation/LayoutTransition", DoNotGenerateAcw=true)]
public class LayoutTransition : Java.Lang.Object
[<Android.Runtime.Register("android/animation/LayoutTransition", DoNotGenerateAcw=true)>]
type LayoutTransition = class
    inherit Object
Herencia
LayoutTransition
Atributos

Comentarios

Esta clase habilita animaciones automáticas en los cambios de diseño en los objetos ViewGroup. Para habilitar las transiciones de un contenedor de diseño, cree un objeto LayoutTransition y establézcalo en cualquier ViewGroup llamando a ViewGroup#setLayoutTransition(LayoutTransition). Esto hará que las animaciones predeterminadas se ejecuten siempre que se agreguen o quiten elementos de ese contenedor. Para especificar animaciones personalizadas, use el LayoutTransition#setAnimator(int, Animator) setAnimator() método .

Uno de los conceptos básicos de estas animaciones de transición es que hay dos tipos de cambios que provocan la transición y cuatro animaciones diferentes que se ejecutan debido a esos cambios. Los cambios que desencadenan la transición son elementos que se agregan a un contenedor (denominado "transición que aparece") o se quitan de un contenedor (también conocido como "desapareciendo"). Si se establece la visibilidad de las vistas (entre GONE y VISIBLE), se desencadenará la misma lógica add/remove. Las animaciones que se ejecutan debido a esos eventos son una que anima los elementos que se agregan, una que anima los elementos que se quitan y dos que animan los demás elementos del contenedor que cambian debido a la aparición de agregar o quitar. Los usuarios de la transición pueden querer animaciones diferentes para los elementos cambiantes en función de si cambian debido a un evento que aparece o desaparece, por lo que hay una animación para cada una de estas variaciones del evento de cambio. La mayoría de la API de esta clase se ocupa de configurar las propiedades básicas de las animaciones usadas en estas cuatro situaciones, o con la configuración de animaciones personalizadas para cualquiera o los cuatro.

De forma predeterminada, la animación DISAPPEARING comienza inmediatamente, al igual que la animación CHANGE_APPEARING. Las demás animaciones comienzan después de un retraso establecido en la duración predeterminada de las animaciones. Este comportamiento facilita una secuencia de animaciones en transiciones como se indica a continuación: cuando se agrega un elemento a un diseño, los demás elementos secundarios de ese contenedor se moverán primero (creando espacio para el nuevo elemento), la animación que aparece se ejecutará para animar el elemento que se va a agregar. Por el contrario, cuando se quita un elemento de un contenedor, la animación para quitarla se ejecutará primero, las animaciones de los demás elementos secundarios del diseño se ejecutarán (cerrando el espacio creado en el diseño cuando se quitó el elemento). Si no se desea este comportamiento de coreografía predeterminado, el #setDuration(int, long) y #setStartDelay(int, long) de cualquiera o todas las animaciones se pueden cambiar según corresponda. Tenga en cuenta, sin embargo, que si inicias una animación DE APARICIÓN antes de que se complete una animación DE DESAPARECER, se detendrá la animación DESAPARECER y se revertirán los efectos de la animación DESAPARECEN. Si en su lugar inicias una animación DISAPPEARING antes de que se complete una animación DE APARICIÓN, se produce un conjunto similar de efectos para la animación APPEARING.

Las animaciones especificadas para la transición, tanto los valores predeterminados como las animaciones personalizadas establecidas en el objeto de transición, son solo plantillas. Es decir, estas animaciones existen para contener las propiedades básicas de animación, como la duración, el retraso de inicio y las propiedades que se están animando. Pero el objeto de destino real, así como los valores inicial y final de esas propiedades, se establecen automáticamente en el proceso de configuración de la transición cada vez que se ejecuta. Cada una de las animaciones se clona a partir de la copia original y, a continuación, el clon se rellena con los valores dinámicos del destino que se está animando (por ejemplo, uno de los elementos de un contenedor de diseño que se mueve como resultado del evento de diseño) así como los valores que cambian (como la posición y el tamaño de ese objeto). Los valores reales que se insertan en cada animación dependen de las propiedades especificadas para la animación. Por ejemplo, el valor predeterminado CHANGE_APPEARING animación anima las leftpropiedades , top, right, bottom, , scrollXy scrollY . Los valores de estas propiedades se actualizan con los valores previos y posteriores al diseño cuando comienza la transición. Las animaciones personalizadas se rellenarán de forma similar con el destino y los valores que se están animando, suponiendo que usan objetos ObjectAnimator con nombres de propiedad conocidos en el objeto de destino.

Esta clase y la marca XML asociada para contenedores, animateLayoutChanges="true", proporciona una utilidad sencilla destinada a automatizar los cambios en situaciones sencillas. Es posible que el uso de LayoutTransition en varios niveles de una jerarquía de vistas anidada no funcione debido a la interrelación de los distintos niveles de diseño. Además, un contenedor que se desplaza al mismo tiempo que se agregan o quitan elementos probablemente no es un buen candidato para esta utilidad, ya que las ubicaciones anteriores o posteriores calculadas por LayoutTransition pueden no coincidir con las ubicaciones reales cuando finalizan las animaciones debido a que el contenedor se desplaza a medida que se ejecutan las animaciones. Para solucionar ese problema en particular, deshabilite las animaciones "cambiantes" estableciendo el CHANGE_APPEARING y CHANGE_DISAPPEARING animaciones en null y estableciendo el startDelay de las demás animaciones de forma adecuada.

Java documentación para android.animation.LayoutTransition.

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
LayoutTransition()

Construye un objeto LayoutTransition.

LayoutTransition(IntPtr, JniHandleOwnership)

Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución.

Campos

Nombre Description
Appearing
Obsoletos.

Marca que indica la animación que se ejecuta en los elementos que aparecen en el contenedor.

ChangeAppearing
Obsoletos.

Marca que indica la animación que se ejecuta en los elementos que cambian debido a un nuevo elemento que aparece en el contenedor.

ChangeDisappearing
Obsoletos.

Marca que indica la animación que se ejecuta en los elementos que cambian debido a que un elemento desaparece del contenedor.

Changing
Obsoletos.

Marca que indica la animación que se ejecuta en los elementos que cambian debido a un cambio de diseño que no provoca que los elementos se agreguen o quiten del contenedor.

Disappearing
Obsoletos.

Marca que indica la animación que se ejecuta en los elementos que desaparecen del contenedor.

Propiedades

Nombre Description
Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
IsChangingLayout

Devuelve true si se ejecutan animaciones que animan las propiedades relacionadas con el diseño.

IsRunning

Devuelve true si alguna de las animaciones de esta transición se está ejecutando actualmente.

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 habilita animaciones automáticas en los cambios de diseño en los objetos ViewGroup.

(Heredado de JavaObject)
JniPeerMembers

Esta clase habilita animaciones automáticas en los cambios de diseño en los objetos ViewGroup.

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.

TransitionListeners

Obtiene la lista actual de agentes de escucha para los cambios de diseño.

Métodos

Nombre Description
AddChild(ViewGroup, View)

ViewGroup llama a este método cuando una vista secundaria está a punto de agregarse al contenedor.

AddTransitionListener(LayoutTransition+ITransitionListener)

Agregue un agente de escucha al que se llamará cuando cambien los límites de la vista debido al procesamiento del diseño.

Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Esta clase habilita animaciones automáticas en los cambios de diseño en los objetos ViewGroup.

(Heredado de JavaObject)
DisableTransitionType(LayoutTransitionType)

Deshabilita el transitionType especificado para este objeto LayoutTransition.

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 habilita animaciones automáticas en los cambios de diseño en los objetos ViewGroup.

(Heredado de JavaObject)
EnableTransitionType(LayoutTransitionType)

Habilita el transitionType especificado para este objeto LayoutTransition.

Equals(Object)

Esta clase habilita animaciones automáticas en los cambios de diseño en los objetos ViewGroup.

(Heredado de JavaObject)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
GetAnimator(LayoutTransitionType)

Obtiene la animación usada durante uno de los tipos de transición que se pueden ejecutar.

GetDuration(LayoutTransitionType)

Obtiene la duración de uno de los objetos de animación utilizados por esta transición.

GetHashCode()

Devuelve un valor de código hash para el objeto .

(Heredado de Object)
GetInterpolator(LayoutTransitionType)

Obtiene el interpolador en uno de los objetos de animación utilizados por esta transición.

GetStagger(LayoutTransitionType)

Obtiene el período de tiempo que se va a retrasar entre iniciar cada animación durante una de las animaciones de cambio.

GetStartDelay(LayoutTransitionType)

Obtiene el retraso de inicio en uno de los objetos de animación usados por esta transición.

HideChild(ViewGroup, View, ViewStates)

ViewGroup llama a este método cuando una vista secundaria está a punto de estar oculta en el contenedor.

HideChild(ViewGroup, View)
Obsoletos.

Este miembro está en desuso.

IsTransitionTypeEnabled(LayoutTransitionType)

Devuelve si el transitionType especificado está habilitado para este objeto LayoutTransition.

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)
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)
RemoveChild(ViewGroup, View)

ViewGroup llama a este método cuando una vista secundaria está a punto de quitarse del contenedor.

RemoveTransitionListener(LayoutTransition+ITransitionListener)

Quite un agente de escucha para los cambios de diseño.

SetAnimateParentHierarchy(Boolean)

Esta marca controla si CHANGE_APPEARING o CHANGE_DISAPPEARING animaciones hará que también se ejecute la animación de cambio predeterminada en la jerarquía primaria.

SetAnimator(LayoutTransitionType, Animator)

Establece la animación usada durante uno de los tipos de transición que se pueden ejecutar.

SetDuration(Int64)

Establece la duración que usarán todas las animaciones de este objeto de transición.

SetDuration(LayoutTransitionType, Int64)

Establece la duración en uno de los objetos de animación utilizados por esta transición.

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetInterpolator(LayoutTransitionType, ITimeInterpolator)

Establece el interpolador en uno de los objetos de animación utilizados por esta transición.

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Esta clase habilita animaciones automáticas en los cambios de diseño en los objetos ViewGroup.

(Heredado de JavaObject)
SetStagger(LayoutTransitionType, Int64)

Establece el período de tiempo que se va a retrasar entre iniciar cada animación durante una de las animaciones de cambio.

SetStartDelay(LayoutTransitionType, Int64)

Establece el retraso de inicio en uno de los objetos de animación utilizados por esta transición.

ShowChild(ViewGroup, View, ViewStates)

ViewGroup llama a este método cuando una vista secundaria está a punto de hacerse visible en el contenedor.

ShowChild(ViewGroup, View)
Obsoletos.

Este miembro está en desuso.

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)
UnregisterFromRuntime()

Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad.

(Heredado de Object)
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)

Eventos

Nombre Description
EndTransition

Esta clase habilita animaciones automáticas en los cambios de diseño en los objetos ViewGroup.

StartTransition

Esta clase habilita animaciones automáticas en los cambios de diseño en los objetos ViewGroup.

Implementaciones de interfaz explícitas

Nombre Description
IJavaPeerable.Disposed()

Esta clase habilita animaciones automáticas en los cambios de diseño en los objetos ViewGroup.

(Heredado de JavaObject)
IJavaPeerable.Finalized()

Esta clase habilita animaciones automáticas en los cambios de diseño en los objetos ViewGroup.

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Esta clase habilita animaciones automáticas en los cambios de diseño en los objetos ViewGroup.

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Esta clase habilita animaciones automáticas en los cambios de diseño en los objetos ViewGroup.

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Esta clase habilita animaciones automáticas en los cambios de diseño en los objetos ViewGroup.

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Esta clase habilita animaciones automáticas en los cambios de diseño en los objetos ViewGroup.

(Heredado de JavaObject)

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Esta clase habilita animaciones automáticas en los cambios de diseño en los objetos ViewGroup.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a