LayoutTransition Класс

Определение

Этот класс включает автоматическую анимацию при изменениях макета в объектах 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
Наследование
LayoutTransition
Атрибуты

Комментарии

Этот класс включает автоматическую анимацию при изменениях макета в объектах ViewGroup. Чтобы включить переходы для контейнера макета, создайте объект LayoutTransition и задайте его для любой viewGroup, вызвав ViewGroup#setLayoutTransition(LayoutTransition). Это приведет к тому, что анимации по умолчанию будут выполняться при добавлении элементов в этот контейнер или удалении из него. Чтобы указать пользовательские анимации, используйте LayoutTransition#setAnimator(int, Animator) setAnimator() метод .

Одна из основных концепций этих анимаций перехода заключается в том, что существует два типа изменений, вызывающих переход, и четыре различных анимации, которые выполняются из-за этих изменений. Изменения, которые активируют переход, — это элементы, добавляемые в контейнер (называемые "отображаемым" переходом) или удаленные из контейнера (также известные как "исчезающие"). Установка видимости представлений (между GONE и VISIBLE) активирует ту же логику добавления и удаления. Анимации, выполняемые из-за этих событий, — это анимация, которая анимирует добавляемые элементы, одна анимация удаляет элементы и две анимации других элементов в контейнере, которые изменяются из-за вхождения добавления или удаления. Пользователям перехода могут потребоваться различные анимации для изменяющихся элементов в зависимости от того, изменяются ли они из-за появившегося или исчезающего события, поэтому для каждого из этих вариантов события изменения существует одна анимация. Большая часть API этого класса связана с настройкой основных свойств анимаций, используемых в этих четырех ситуациях, или с настройкой пользовательских анимаций для любого или всех из четырех.

По умолчанию анимация DISAPPEARING начинается немедленно, как и CHANGE_APPEARING анимация. Другие анимации начинаются после задержки, которая имеет значение по умолчанию для анимации. Это поведение упрощает последовательность анимаций в переходах следующим образом: при добавлении элемента в макет другие дочерние элементы этого контейнера будут перемещаться первыми (таким образом, создавая пространство для нового элемента), а затем отображаемая анимация будет выполняться для анимации добавляемого элемента. И наоборот, при удалении элемента из контейнера сначала будет выполнена анимация для его удаления, а затем будут выполняться анимации других дочерних элементов в макете (закрытие пробела, созданного в макете при удалении элемента). Если такое поведение хореографии по умолчанию нежелательно, #setDuration(int, long) можно изменить и для #setStartDelay(int, long) любой или всех анимаций соответствующим образом. Однако помните, что если вы запускаете анимацию ПОЯВЛЯЕТСЯ до завершения анимации ИСЧЕЗАЕТ, анимация ИСЧЕЗАЕТ, а все эффекты анимации ИСЧЕЗАЮТ отменяются. Если вместо этого запустить анимацию DISAPPEARING до завершения анимации APPEARING, аналогичный набор эффектов будет создан для анимации APPEARING.

Анимации, указанные для перехода ( как значения по умолчанию, так и любые пользовательские анимации, заданные для объекта перехода), являются только шаблонами. То есть эти анимации существуют для хранения базовых свойств анимации, таких как длительность, задержка начала и анимированные свойства. Но фактический целевой объект, а также начальные и конечные значения для этих свойств задаются автоматически в процессе настройки перехода при каждом запуске. Каждая анимация клонируется из исходной копии, а затем клон заполняется динамическими значениями анимируемого целевого объекта (например, одним из элементов в контейнере макета, который перемещается в результате события макета), а также значениями, которые изменяются (например, положение и размер этого объекта). Фактические значения, которые отправляются в каждую анимацию, зависят от того, какие свойства заданы для анимации. Например, анимация по умолчанию CHANGE_APPEARING анимирует leftсвойства , top, right, bottomscrollX, и scrollY . При начале перехода значения для этих свойств обновляются значениями до и после макета. Пользовательские анимации будут аналогичным образом заполнены целевыми объектами и значениями, которые анимируются, при условии, что они используют объекты ObjectAnimator с именами свойств, известными в целевом объекте.

Этот класс и соответствующий флаг XML для контейнеров animateLayoutChanges="true" предоставляет простую служебную программу, предназначенную для автоматизации изменений в простых ситуациях. Использование LayoutTransition на нескольких уровнях иерархии вложенных представлений может не работать из-за взаимосвязи различных уровней макета. Кроме того, контейнер, который прокручивается одновременно с добавлением или удалением элементов, вероятно, не подходит для этой программы, так как расположения до и после, вычисляемые с помощью LayoutTransition, могут не соответствовать фактическим расположениям после завершения анимации из-за прокрутки контейнера при выполнении анимации. Эту проблему можно обойти, отключив анимацию "изменение", задав для CHANGE_APPEARING и CHANGE_DISAPPEARING анимации значение NULL и задав startDelay других анимаций соответствующим образом.

Документация по Java для android.animation.LayoutTransition.

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License Creative Commons 2.5 Attribution License.

Конструкторы

LayoutTransition()

Создает объект LayoutTransition.

LayoutTransition(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

Поля

Appearing
Устаревшие..

Флаг, указывающий анимацию, которая выполняется для элементов, которые отображаются в контейнере.

ChangeAppearing
Устаревшие..

Флаг, указывающий анимацию, которая выполняется для элементов, которые изменяются из-за появления нового элемента в контейнере.

ChangeDisappearing
Устаревшие..

Флаг, указывающий анимацию, которая выполняется для элементов, которые изменяются из-за того, что элемент исчезает из контейнера.

Changing
Устаревшие..

Флаг, указывающий анимацию, которая выполняется для элементов, которые изменяются из-за изменения макета, не вызванного добавлением элементов в контейнер или удалением из него.

Disappearing
Устаревшие..

Флаг, указывающий анимацию, которая выполняется для элементов, которые исчезают из контейнера.

Свойства

Class

Возвращает класс среды выполнения данного объекта Object.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
IsChangingLayout

Возвращает значение true, если выполняются анимации, которые анимируют свойства, связанные с макетом.

IsRunning

Возвращает значение true, если в данный момент выполняется какая-либо анимация в этом переходе.

JniIdentityHashCode

Этот класс включает автоматическую анимацию при изменениях макета в объектах ViewGroup.

(Унаследовано от Object)
JniPeerMembers

Этот класс включает автоматическую анимацию при изменениях макета в объектах ViewGroup.

PeerReference

Этот класс включает автоматическую анимацию при изменениях макета в объектах ViewGroup.

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

TransitionListeners

Возвращает текущий список прослушивателей для изменений макета.

Методы

AddChild(ViewGroup, View)

Этот метод вызывается ViewGroup при добавлении дочернего представления в контейнер.

AddTransitionListener(LayoutTransition+ITransitionListener)

Добавьте прослушиватель, который будет вызываться при изменении границ представления из-за обработки макета.

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
DisableTransitionType(LayoutTransitionType)

Отключает указанный параметр transitionType для этого объекта LayoutTransition.

Dispose()

Этот класс включает автоматическую анимацию при изменениях макета в объектах ViewGroup.

(Унаследовано от Object)
Dispose(Boolean)

Этот класс включает автоматическую анимацию при изменениях макета в объектах ViewGroup.

(Унаследовано от Object)
EnableTransitionType(LayoutTransitionType)

Включает указанный параметр transitionType для этого объекта LayoutTransition.

Equals(Object)

Указывает, равен ли какой-то другой объект этому объекту.

(Унаследовано от Object)
GetAnimator(LayoutTransitionType)

Возвращает анимацию, используемую во время одного из типов переходов, которые могут выполняться.

GetDuration(LayoutTransitionType)

Возвращает длительность для одного из объектов анимации, используемых этим переходом.

GetHashCode()

Возвращает значение хэш-кода для объекта.

(Унаследовано от Object)
GetInterpolator(LayoutTransitionType)

Получает интерполятор для одного из объектов анимации, используемых этим переходом.

GetStagger(LayoutTransitionType)

Возвращает интервал времени, в течение времени между запуском каждой анимации во время одной из анимаций изменений.

GetStartDelay(LayoutTransitionType)

Возвращает начальную задержку для одного из объектов анимации, используемых этим переходом.

HideChild(ViewGroup, View)
Устаревшие..

Этот элемент устарел.

HideChild(ViewGroup, View, ViewStates)

Этот метод вызывается ViewGroup, когда дочернее представление будет скрыто в контейнере.

IsTransitionTypeEnabled(LayoutTransitionType)

Возвращает значение, указывающее, включен ли указанный параметр transitionType для данного объекта LayoutTransition.

JavaFinalize()

Вызывается сборщиком мусора для объекта , когда сборка мусора определяет, что больше нет ссылок на объект .

(Унаследовано от Object)
Notify()

Пробуждение одного потока, ожидающего на мониторе этого объекта.

(Унаследовано от Object)
NotifyAll()

Активирует все потоки, ожидающие на мониторе этого объекта.

(Унаследовано от Object)
RemoveChild(ViewGroup, View)

Этот метод вызывается ViewGroup, когда дочернее представление должно быть удалено из контейнера.

RemoveTransitionListener(LayoutTransition+ITransitionListener)

Удаление прослушивателя для изменений макета.

SetAnimateParentHierarchy(Boolean)

Этот флаг определяет, будет ли CHANGE_APPEARING или CHANGE_DISAPPEARING анимация приводить к выполнению анимации изменения по умолчанию в родительской иерархии.

SetAnimator(LayoutTransitionType, Animator)

Задает анимацию, используемую во время одного из типов переходов, которые могут выполняться.

SetDuration(Int64)

Задает длительность, используемую всеми анимациями этого объекта перехода.

SetDuration(LayoutTransitionType, Int64)

Задает длительность для одного из объектов анимации, используемых этим переходом.

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
SetInterpolator(LayoutTransitionType, ITimeInterpolator)

Задает интерполятор для одного из объектов анимации, используемых этим переходом.

SetStagger(LayoutTransitionType, Int64)

Задает интервал времени для задержки между запуском каждой анимации во время одной из анимаций изменения.

SetStartDelay(LayoutTransitionType, Int64)

Задает задержку начала для одного из объектов анимации, используемых этим переходом.

ShowChild(ViewGroup, View)
Устаревшие..

Этот элемент устарел.

ShowChild(ViewGroup, View, ViewStates)

Этот метод вызывается ViewGroup, когда дочернее представление должно стать видимым в контейнере.

ToArray<T>()

Этот класс включает автоматическую анимацию при изменениях макета в объектах ViewGroup.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

Этот класс включает автоматическую анимацию при изменениях макета в объектах ViewGroup.

(Унаследовано от Object)
Wait()

Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления/><em> или <прерывания></em>.

(Унаследовано от Object)
Wait(Int64)

Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> em, либо до истечения определенного количества реального времени.

(Унаследовано от Object)
Wait(Int64, Int32)

Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> em, либо до истечения определенного количества реального времени.

(Унаследовано от Object)

События

EndTransition

Этот класс включает автоматическую анимацию при изменениях макета в объектах ViewGroup.

StartTransition

Этот класс включает автоматическую анимацию при изменениях макета в объектах ViewGroup.

Явные реализации интерфейса

IJavaPeerable.Disposed()

Этот класс включает автоматическую анимацию при изменениях макета в объектах ViewGroup.

(Унаследовано от Object)
IJavaPeerable.DisposeUnlessReferenced()

Этот класс включает автоматическую анимацию при изменениях макета в объектах ViewGroup.

(Унаследовано от Object)
IJavaPeerable.Finalized()

Этот класс включает автоматическую анимацию при изменениях макета в объектах ViewGroup.

(Унаследовано от Object)
IJavaPeerable.JniManagedPeerState

Этот класс включает автоматическую анимацию при изменениях макета в объектах ViewGroup.

(Унаследовано от Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Этот класс включает автоматическую анимацию при изменениях макета в объектах ViewGroup.

(Унаследовано от Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Этот класс включает автоматическую анимацию при изменениях макета в объектах ViewGroup.

(Унаследовано от Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Этот класс включает автоматическую анимацию при изменениях макета в объектах ViewGroup.

(Унаследовано от Object)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверенное средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Этот класс включает автоматическую анимацию при изменениях макета в объектах ViewGroup.

GetJniTypeName(IJavaPeerable)

Этот класс включает автоматическую анимацию при изменениях макета в объектах ViewGroup.

Применяется к