LayoutTransition Clase

Definición

Esta clase habilita animaciones automáticas en los cambios de diseño en 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 objetos ViewGroup. Para habilitar las transiciones de un contenedor de diseño, cree un objeto LayoutTransition y establézcalo en cualquier ViewGroup mediante una llamada 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 (lo que se conoce como 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 repetició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 todos 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 y, a continuación, se ejecutarán las animaciones de los demás elementos secundarios del diseño (cerrando la brecha creada 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. Sin embargo, ten en cuenta que si inicias una animación APARECEN antes de que se complete una animación DESAPARECIENDO, se detiene la animación DESAPARECER y se revierten los efectos de la animación DESAPARECIENDO. Si en su lugar inicias una animación DISAPPEARING antes de que se complete una animación APPEARING, 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 de animación básicas, 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 , , topbottomright, , 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 es posible que las ubicaciones anteriores o posteriores calculadas por LayoutTransition no coincidan con las ubicaciones reales cuando finalizan las animaciones debido a que el contenedor se desplaza mientras se ejecutan las animaciones. Para solucionar ese problema en particular, deshabilite las animaciones "cambiantes" estableciendo las animaciones CHANGE_APPEARING y CHANGE_DISAPPEARING en null y estableciendo correctamente startDelay de las demás animaciones.

Documentación de Java para android.animation.LayoutTransition.

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

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

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 esos elementos que cambian debido a que aparece un nuevo elemento 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 no causado por los elementos que se agregan o quitan del contenedor.

Disappearing
Obsoletos.

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

Propiedades

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 las animaciones se ejecutan 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

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

(Heredado de Object)
JniPeerMembers

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

PeerReference

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

(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

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)
DisableTransitionType(LayoutTransitionType)

Deshabilita el transitionType especificado para este objeto LayoutTransition.

Dispose()

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

(Heredado de Object)
Dispose(Boolean)

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

(Heredado de Object)
EnableTransitionType(LayoutTransitionType)

Habilita el transitionType especificado para este objeto LayoutTransition.

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 del 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 tiempo de retraso 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 utilizados por esta transición.

HideChild(ViewGroup, View)
Obsoletos.

Este miembro está en desuso.

HideChild(ViewGroup, View, ViewStates)

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

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 utilizada durante uno de los tipos de transición que se pueden ejecutar.

SetDuration(Int64)

Establece la duración que van a usar 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.

SetStagger(LayoutTransitionType, Int64)

Establece el período de tiempo que se 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)
Obsoletos.

Este miembro está en desuso.

ShowChild(ViewGroup, View, ViewStates)

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

ToArray<T>()

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

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto.

(Heredado de Object)
UnregisterFromRuntime()

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

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

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)

Eventos

EndTransition

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

StartTransition

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

Implementaciones de interfaz explícitas

IJavaPeerable.Disposed()

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

(Heredado de Object)
IJavaPeerable.DisposeUnlessReferenced()

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

(Heredado de Object)
IJavaPeerable.Finalized()

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

(Heredado de Object)
IJavaPeerable.JniManagedPeerState

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

(Heredado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

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

(Heredado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

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

(Heredado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

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

(Heredado de Object)

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

GetJniTypeName(IJavaPeerable)

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

Se aplica a