Этот документ содержит примеры использования 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
.
КоординаторLayout (1/2)
В этом примере к существующему AppBarLayout
добавляется MotionLayout
, чтобы добавить движение на панель приложения. Этот пример далее описан в разделе «Введение в MotionLayout» (часть III) .
- Просмотрите XML-макет .
- Просмотрите XML-
MotionScene
.
КоординаторLayout (2/2)
В этом примере к существующему AppBarLayout
добавляется MotionLayout
, чтобы добавить движение на панель приложения.
- Просмотрите 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
. Этот пример далее описан в разделе «Введение в 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
.