В этом документе приведены примеры использования MotionLayout . Каждый пример включает видео, демонстрирующее анимацию, а также соответствующий код для сцены анимации и макетов.
Основное движение
В этом примере представлен один элемент интерфейса, который можно перемещать по горизонтали, касаясь его и перетаскивая мышью.
- Просмотрите XML-файл макета .
- Просмотрите XML-файл
MotionScene.
Пользовательский атрибут - backgroundColor
Этот пример похож на пример с базовым движением . В дополнение к базовому движению, цвет фона представления изменяется по мере его перемещения.
- Просмотрите XML-файл макета .
- Просмотрите XML-файл
MotionScene.
ImageFilterView - переход между изображениями
В этом примере показано, как изменять значение насыщенности элемента ImageFilterView .
- Просмотрите XML-файл макета .
- Просмотрите XML-файл
MotionScene.
Позиция ключевого кадра
В этом примере используется <KeyFrameSet> для изменения положения элемента по оси Y во время движения.
- Просмотрите XML-файл макета .
- Просмотрите XML-файл
MotionScene.
Интерполяция ключевых кадров
Этот пример основан на примере с позиционированием по ключевым кадрам и добавляет вращение и масштабирование к переходу между окнами просмотра.
- Просмотрите XML-файл макета .
- Просмотрите XML-файл
MotionScene.
Цикл ключевых кадров
В этом примере добавляются элементы <KeyCycle> для придания представлению волнообразного движения.
- Просмотрите XML-файл макета .
- Просмотрите XML-файл
MotionScene.
Координаторная компоновка (1/2)
В этом примере MotionLayout добавляется к существующему AppBarLayout для добавления анимации к панели приложения. Этот пример более подробно описан в разделе «Введение в MotionLayout» (часть III) .
- Просмотрите XML-файл макета .
- Просмотрите XML-файл
MotionScene.
КоординаторМакет (2/2)
В этом примере MotionLayout добавляется к существующему AppBarLayout для добавления анимации к панели приложения.
- Просмотрите XML-файл макета .
- Просмотрите XML-файл
MotionScene.
Расположение ящиков (1/2)
В этом примере показано, как добавить анимацию к DrawerLayout . Более подробное описание этого примера приведено в разделе «Введение в MotionLayout (часть III)» .
- Просмотрите XML-файл макета .
- Просмотрите XML-файл
MotionScene.
Расположение ящиков (2/2)
В этом примере показано, как добавить анимацию к DrawerLayout .
- Просмотрите XML-файл макета .
- Для просмотра основного содержимого просмотрите XML-файл
MotionScene. - Для просмотра меню просмотрите XML-файл
MotionScene.
Боковая панель
В этом примере показано, как отобразить боковую панель при перетаскивании основной области содержимого вправо.
- Просмотрите XML-файл макета .
- Просмотрите XML-файл
MotionScene.
Параллакс
В этом примере демонстрируется параллаксный фон, где разные фоновые слои движутся с разной скоростью.
- Просмотрите XML-файл макета .
- Просмотрите XML-файл
MotionScene.
ViewPager
В этом примере показано, как добавить анимацию при перелистывании вкладок ViewPager . Более подробное описание этого примера приведено в разделе «Введение в MotionLayout (часть III)» .
- Просмотрите XML-файл макета .
- Просмотрите XML-файл
MotionScene.
ViewPager - Лотти
В этом примере показано, как добавить анимацию при перелистывании вкладок ViewPager .
- Просмотрите XML-файл макета .
- Просмотрите XML-файл
MotionScene.
Сложное движение (1/3)
В этом примере объединены элементы из предыдущих примеров для демонстрации сложного движения.
- Просмотрите XML-файл макета .
- Просмотрите XML-файл
MotionScene.
Сложное движение (2/3)
В этом примере объединены элементы из предыдущих примеров для демонстрации сложного движения.
- Просмотрите XML-файл макета .
- Просмотрите XML-файл
MotionScene.
Сложное движение (3/3)
В этом примере объединены элементы из предыдущих примеров для демонстрации сложного движения.
- Просмотрите XML-файл макета .
- Просмотрите XML-файл
MotionScene.
Фрагментный переход (1/2)
В этом примере показано, как можно использовать MotionLayout для перехода между фрагментами.
- Просмотрите XML-файл макета .
- Просмотрите XML-файл
MotionScene.
Фрагментный переход (2/2)
В этом примере показано, как можно использовать MotionLayout для перехода между фрагментами.
- Просмотрите XML-файл макета .
- Просмотрите XML-файл
MotionScene.
Движение, похожее на YouTube
В этом примере демонстрируется переход между компактным режимом и полноэкранным режимом с дополнительным контентом.
- Просмотрите XML-файл макета .
- Просмотрите XML-файл
MotionScene.
KeyTrigger
В этом примере показано, как отображать и скрывать плавающую кнопку действия, когда переход превышает пороговое значение прогресса.
- Просмотрите XML-файл макета .
- Просмотрите XML-файл
MotionScene.
Многоштатный
В этом примере показано, как использовать состояние для определения того, какое движение следует применить.
- Просмотрите XML-файл макета .
- Просмотрите XML-файл
MotionScene.
