Condividi tramite


LayoutTransition Classe

Definizione

Questa classe abilita le animazioni automatiche sulle modifiche del layout negli oggetti 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
Ereditarietà
LayoutTransition
Attributi

Commenti

Questa classe abilita le animazioni automatiche sulle modifiche del layout negli oggetti ViewGroup. Per abilitare le transizioni per un contenitore di layout, creare un oggetto LayoutTransition e impostarlo su qualsiasi ViewGroup chiamando ViewGroup#setLayoutTransition(LayoutTransition). In questo modo le animazioni predefinite verranno eseguite ogni volta che gli elementi vengono aggiunti o rimossi da tale contenitore. Per specificare animazioni personalizzate, usare il LayoutTransition#setAnimator(int, Animator) setAnimator() metodo .

Uno dei concetti fondamentali di queste animazioni di transizione è che esistono due tipi di modifiche che causano la transizione e quattro animazioni diverse eseguite a causa di tali modifiche. Le modifiche che attivano la transizione sono elementi aggiunti a un contenitore (detto transizione "visualizzata") o rimossi da un contenitore (noto anche come "scomparso"). L'impostazione della visibilità delle visualizzazioni (tra GONE e VISIBLE) attiverà la stessa logica di aggiunta/rimozione. Le animazioni eseguite a causa di tali eventi sono quelle che animano gli elementi aggiunti, una che anima gli elementi da rimuovere e due che animano gli altri elementi nel contenitore che cambiano a causa dell'occorrenza di aggiunta/rimozione. Gli utenti della transizione potrebbero volere animazioni diverse per gli elementi che cambiano a seconda che cambino a causa di un evento visualizzato o scomparso, quindi c'è un'animazione per ognuna di queste varianti dell'evento che cambia. La maggior parte dell'API di questa classe riguarda la configurazione delle proprietà di base delle animazioni usate in queste quattro situazioni o la configurazione di animazioni personalizzate per uno o tutti i quattro.

Per impostazione predefinita, l'animazione DISAPPEARING inizia immediatamente, così come l'animazione CHANGE_APPEARING. Le altre animazioni iniziano dopo un ritardo impostato sulla durata predefinita delle animazioni. Questo comportamento facilita una sequenza di animazioni nelle transizioni come indicato di seguito: quando un elemento viene aggiunto a un layout, gli altri elementi figlio di tale contenitore verranno spostati per primi (creando così spazio per il nuovo elemento), l'animazione visualizzata verrà eseguita per animare l'elemento aggiunto. Al contrario, quando un elemento viene rimosso da un contenitore, l'animazione da rimuovere verrà eseguita per prima, quindi le animazioni degli altri elementi figlio nel layout verranno eseguite (chiudendo il gap creato nel layout quando l'elemento è stato rimosso). Se questo comportamento predefinito della coreografia non è desiderato, l'oggetto #setDuration(int, long) e #setStartDelay(int, long) di qualsiasi o tutte le animazioni possono essere modificate in base alle esigenze. Tieni presente, tuttavia, che se avvii un'animazione APPEARING prima che venga completata un'animazione DISAPPEARING, l'animazione DISAPPEARING si arresta e tutti gli effetti dell'animazione DISAPPEARING vengono ripristinati. Se invece si avvia un'animazione DISAPPEARING prima del completamento di un'animazione APPEARING, si verifica un set di effetti simile per l'animazione APPEARING.

Le animazioni specificate per la transizione, sia le animazioni predefinite che le animazioni personalizzate impostate nell'oggetto di transizione, sono solo modelli. Ovvero, queste animazioni esistono per contenere le proprietà di animazione di base, ad esempio la durata, il ritardo di inizio e le proprietà animate. Tuttavia, l'oggetto di destinazione effettivo, nonché i valori di inizio e fine per tali proprietà, vengono impostati automaticamente nel processo di configurazione della transizione ogni volta che viene eseguita. Ognuna delle animazioni viene clonata dalla copia originale e il clone viene quindi popolato con i valori dinamici della destinazione animata (ad esempio uno degli elementi in un contenitore di layout che viene spostato in seguito all'evento di layout) nonché i valori che cambiano (ad esempio la posizione e le dimensioni di tale oggetto). I valori effettivi di cui viene eseguito il push in ogni animazione dipendono dalle proprietà specificate per l'animazione. Ad esempio, l'animazione predefinita CHANGE_APPEARING anima le leftproprietà , top, rightbottom, scrollX, e scrollY . I valori per queste proprietà vengono aggiornati con i valori pre-e post-layout all'inizio della transizione. Le animazioni personalizzate verranno popolate in modo analogo con la destinazione e i valori animati, presupponendo che usino oggetti ObjectAnimator con nomi di proprietà noti nell'oggetto di destinazione.

Questa classe e il flag XML associato per i contenitori, animateLayoutChanges="true", offre una semplice utilità destinata all'automazione delle modifiche in situazioni semplici. L'uso di LayoutTransition a più livelli di una gerarchia di viste nidificate potrebbe non funzionare a causa dell'interrelazione dei vari livelli di layout. Inoltre, un contenitore che viene sottoposto a scorrimento contemporaneamente all'aggiunta o alla rimozione degli elementi non è probabilmente un buon candidato per questa utilità, perché le posizioni precedenti/successive calcolate da LayoutTransition potrebbero non corrispondere ai percorsi effettivi al termine delle animazioni a causa dello scorrimento del contenitore durante l'esecuzione delle animazioni. Puoi risolvere il problema specifico disabilitando le animazioni "modifica" impostando le animazioni CHANGE_APPEARING e CHANGE_DISAPPEARING su Null e impostando l'elemento startDelay delle altre animazioni in modo appropriato.

Documentazione java per android.animation.LayoutTransition.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal Android e usato in base ai termini descritti in 2.5 Attribution License Creative Commons 2.5 Attribution License.

Costruttori

LayoutTransition()

Costruisce un oggetto LayoutTransition.

LayoutTransition(IntPtr, JniHandleOwnership)

Costruttore utilizzato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime.

Campi

Appearing
Obsoleti.

Flag che indica l'animazione eseguita su tali elementi visualizzati nel contenitore.

ChangeAppearing
Obsoleti.

Flag che indica l'animazione eseguita su tali elementi che cambiano a causa di un nuovo elemento visualizzato nel contenitore.

ChangeDisappearing
Obsoleti.

Flag che indica l'animazione eseguita su tali elementi che cambiano a causa di un elemento che scompare dal contenitore.

Changing
Obsoleti.

Flag che indica l'animazione eseguita su tali elementi che cambiano a causa di una modifica del layout non causata dall'aggiunta o dalla rimozione degli elementi dal contenitore.

Disappearing
Obsoleti.

Flag che indica l'animazione eseguita su tali elementi che scompaiono dal contenitore.

Proprietà

Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Object)
IsChangingLayout

Restituisce true se le animazioni sono in esecuzione che animano le proprietà correlate al layout.

IsRunning

Restituisce true se una delle animazioni in questa transizione è attualmente in esecuzione.

JniIdentityHashCode

Questa classe abilita le animazioni automatiche sulle modifiche del layout negli oggetti ViewGroup.

(Ereditato da Object)
JniPeerMembers

Questa classe abilita le animazioni automatiche sulle modifiche del layout negli oggetti ViewGroup.

PeerReference

Questa classe abilita le animazioni automatiche sulle modifiche del layout negli oggetti ViewGroup.

(Ereditato da Object)
ThresholdClass

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

ThresholdType

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

TransitionListeners

Ottiene l'elenco corrente di listener per le modifiche del layout.

Metodi

AddChild(ViewGroup, View)

Questo metodo viene chiamato da ViewGroup quando una visualizzazione figlio sta per essere aggiunta al contenitore.

AddTransitionListener(LayoutTransition+ITransitionListener)

Aggiungere un listener che verrà chiamato quando i limiti della visualizzazione cambiano a causa dell'elaborazione del layout.

Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
DisableTransitionType(LayoutTransitionType)

Disabilita l'oggetto transitionType specificato per questo oggetto LayoutTransition.

Dispose()

Questa classe abilita le animazioni automatiche sulle modifiche del layout negli oggetti ViewGroup.

(Ereditato da Object)
Dispose(Boolean)

Questa classe abilita le animazioni automatiche sulle modifiche del layout negli oggetti ViewGroup.

(Ereditato da Object)
EnableTransitionType(LayoutTransitionType)

Abilita l'oggetto transitionType specificato per questo oggetto LayoutTransition.

Equals(Object)

Indica se un altro oggetto è "uguale a" questo.

(Ereditato da Object)
GetAnimator(LayoutTransitionType)

Ottiene l'animazione utilizzata durante uno dei tipi di transizione che possono essere eseguiti.

GetDuration(LayoutTransitionType)

Ottiene la durata su uno degli oggetti animazione utilizzati da questa transizione.

GetHashCode()

Restituisce un valore del codice hash per l'oggetto.

(Ereditato da Object)
GetInterpolator(LayoutTransitionType)

Ottiene l'interpolatore su uno degli oggetti di animazione utilizzati da questa transizione.

GetStagger(LayoutTransitionType)

Ottiene il tempo di ritardo tra l'avvio di ogni animazione durante una delle animazioni di modifica.

GetStartDelay(LayoutTransitionType)

Ottiene il ritardo di inizio su uno degli oggetti di animazione utilizzati da questa transizione.

HideChild(ViewGroup, View)
Obsoleti.

Metodo deprecato.

HideChild(ViewGroup, View, ViewStates)

Questo metodo viene chiamato da ViewGroup quando una visualizzazione figlio sta per essere nascosta nel contenitore.

IsTransitionTypeEnabled(LayoutTransitionType)

Restituisce un valore che indica se l'oggetto transitionType specificato è abilitato per questo oggetto LayoutTransition.

JavaFinalize()

Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto .

(Ereditato da Object)
Notify()

Riattiva un singolo thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitoraggio di questo oggetto.

(Ereditato da Object)
RemoveChild(ViewGroup, View)

Questo metodo viene chiamato da ViewGroup quando una visualizzazione figlio sta per essere rimossa dal contenitore.

RemoveTransitionListener(LayoutTransition+ITransitionListener)

Rimuovere un listener per le modifiche del layout.

SetAnimateParentHierarchy(Boolean)

Questo flag controlla se le animazioni CHANGE_APPEARING o CHANGE_DISAPPEARING causeranno l'esecuzione dell'animazione di modifica predefinita anche nella gerarchia padre.

SetAnimator(LayoutTransitionType, Animator)

Imposta l'animazione utilizzata durante uno dei tipi di transizione che possono essere eseguiti.

SetDuration(Int64)

Imposta la durata da utilizzare per tutte le animazioni di questo oggetto di transizione.

SetDuration(LayoutTransitionType, Int64)

Imposta la durata su uno degli oggetti animazione utilizzati da questa transizione.

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
SetInterpolator(LayoutTransitionType, ITimeInterpolator)

Imposta l'interpolatore su uno degli oggetti di animazione utilizzati da questa transizione.

SetStagger(LayoutTransitionType, Int64)

Imposta il tempo di ritardo tra l'avvio di ogni animazione durante una delle animazioni di modifica.

SetStartDelay(LayoutTransitionType, Int64)

Imposta il ritardo di inizio su uno degli oggetti di animazione utilizzati da questa transizione.

ShowChild(ViewGroup, View)
Obsoleti.

Metodo deprecato.

ShowChild(ViewGroup, View, ViewStates)

Questo metodo viene chiamato da ViewGroup quando una visualizzazione figlio sta per essere resa visibile nel contenitore.

ToArray<T>()

Questa classe abilita le animazioni automatiche sulle modifiche del layout negli oggetti ViewGroup.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione in formato stringa dell'oggetto.

(Ereditato da Object)
UnregisterFromRuntime()

Questa classe abilita le animazioni automatiche sulle modifiche del layout negli oggetti ViewGroup.

(Ereditato da Object)
Wait()

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una>notifica</em> o <em>interrotto</em>.

(Ereditato da Object)
Wait(Int64)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una notifica</>em> o <em>interrotto</em> o fino a quando non è trascorsa una certa quantità di tempo reale.

(Ereditato da Object)
Wait(Int64, Int32)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una notifica</>em> o <em>interrotto</em> o fino a quando non è trascorsa una certa quantità di tempo reale.

(Ereditato da Object)

Eventi

EndTransition

Questa classe abilita le animazioni automatiche sulle modifiche del layout negli oggetti ViewGroup.

StartTransition

Questa classe abilita le animazioni automatiche sulle modifiche del layout negli oggetti ViewGroup.

Implementazioni dell'interfaccia esplicita

IJavaPeerable.Disposed()

Questa classe abilita le animazioni automatiche sulle modifiche del layout negli oggetti ViewGroup.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Questa classe abilita le animazioni automatiche sulle modifiche del layout negli oggetti ViewGroup.

(Ereditato da Object)
IJavaPeerable.Finalized()

Questa classe abilita le animazioni automatiche sulle modifiche del layout negli oggetti ViewGroup.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Questa classe abilita le animazioni automatiche sulle modifiche del layout negli oggetti ViewGroup.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Questa classe abilita le animazioni automatiche sulle modifiche del layout negli oggetti ViewGroup.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Questa classe abilita le animazioni automatiche sulle modifiche del layout negli oggetti ViewGroup.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Questa classe abilita le animazioni automatiche sulle modifiche del layout negli oggetti ViewGroup.

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo verificato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Questa classe abilita le animazioni automatiche sulle modifiche del layout negli oggetti ViewGroup.

GetJniTypeName(IJavaPeerable)

Questa classe abilita le animazioni automatiche sulle modifiche del layout negli oggetti ViewGroup.

Si applica a