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
- Наследование
- Атрибуты
Комментарии
Этот класс включает автоматическую анимацию при изменениях макета в объектах 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
, bottom
scrollX
, и 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 |
Возвращает класс среды выполнения данного объекта |
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. |