Поделиться через


WindowInsetsAnimation.Callback.OnPrepare(WindowInsetsAnimation) Метод

Определение

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

[Android.Runtime.Register("onPrepare", "(Landroid/view/WindowInsetsAnimation;)V", "GetOnPrepare_Landroid_view_WindowInsetsAnimation_Handler", ApiSince=30)]
public virtual void OnPrepare (Android.Views.WindowInsetsAnimation animation);
[<Android.Runtime.Register("onPrepare", "(Landroid/view/WindowInsetsAnimation;)V", "GetOnPrepare_Landroid_view_WindowInsetsAnimation_Handler", ApiSince=30)>]
abstract member OnPrepare : Android.Views.WindowInsetsAnimation -> unit
override this.OnPrepare : Android.Views.WindowInsetsAnimation -> unit

Параметры

animation
WindowInsetsAnimation

Анимация, которая будет запущена.

Атрибуты

Комментарии

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

<ul>li Application calls WindowInsetsController#hide(int), WindowInsetsController#show(int), WindowInsetsController#controlWindowInsetsAnimation</li><li>onPrepare вызывается в иерархии представлений прослушиватели</li><li liView#onApplyWindowInsets> будут вызываться с конечным состоянием иерархии анимации</li<>li>Представление выкладывается в соответствии с изменениями, запрошенными приложением из-за новых наборов, отправляемых</li<>li#onStart> называется <em>before</em>>< Иерархия представлений рисуется в новом расположении state</li<>>#onProgress вызывается сразу после с состоянием начала< анимации/li<>li>Рисуется кадр.</li></ul>

Такое упорядочение позволяет приложению проверять конечное состояние после завершения анимации, а затем отменить изменения начальное состояние анимации в первом #onProgress обратном вызове с помощью свойств представления после макета, таких как View#setX и связанные методы.

Обратите внимание, что анимация может быть отменена перед #onStart отправкой. В android.os.Build.VERSION_CODES#S S и более поздних версиях #onEnd немедленно отправляется без #onStart в этом случае . В android.os.Build.VERSION_CODES#R Rдля для такой анимации обратные вызовы не отправляются после #onPrepare .

Примечание. Если анимация управляется приложением с помощью WindowInsetsController#controlWindowInsetsAnimation, конечное состояние анимации не определено, так как приложение может выбрать конечное состояние, передав параметр только при вызове shownWindowInsetsAnimationController#finish. В этом случае система будет отправлять наборы в противоположном состоянии видимости перед запуском анимации. Пример. При управлении методом ввода с помощью WindowInsetsController#controlWindowInsetsAnimation и отображается метод ввода, получает WindowInsets экземпляр , View#onApplyWindowInsets для которого WindowInsets#isVisible возвращается false значение .WindowInsets.Type#ime

Документация по Java для android.view.WindowInsetsAnimation.Callback.onPrepare(android.view.WindowInsetsAnimation).

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

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