В этом документе приведены примеры использования 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.
CoordinatorLayout (1/2)
В этом примере в существующий AppBarLayout добавляется MotionLayout, чтобы добавить эффект движения на панель приложения. Этот пример подробно описан в статье Введение в MotionLayout (часть III).
- Посмотрите XML-файл макета.
- Посмотрите XML-файл
MotionScene.
CoordinatorLayout (2/2)
В этом примере мы добавляем MotionLayout к существующему AppBarLayout, чтобы добавить эффект движения на панель приложения.
- Посмотрите XML-файл макета.
- Посмотрите XML-файл
MotionScene.
DrawerLayout (1/2)
В этом примере показано, как добавить эффект движения в DrawerLayout. Этот пример подробно описан в статье Введение в MotionLayout (часть III).
- Посмотрите XML-файл макета.
- Посмотрите XML-файл
MotionScene.
DrawerLayout (2/2)
В этом примере показано, как добавить эффект движения в DrawerLayout.
- Посмотрите XML-файл макета.
- Посмотрите XML-код
MotionSceneдля основного контента. - Посмотрите XML-код меню для
MotionScene.
Боковая панель
В этом примере показано, как отобразить боковую панель при перетаскивании основной области контента вправо.
- Посмотрите XML-файл макета.
- Посмотрите XML-файл
MotionScene.
Параллакс
В этом примере показан фон с параллаксом, где разные слои фона перемещаются с разной скоростью.
- Посмотрите XML-файл макета.
- Посмотрите XML-файл
MotionScene.
ViewPager
В этом примере показано, как добавить эффект движения при переключении между вкладками ViewPager.
Этот пример подробно описан в статье Введение в MotionLayout (часть III).
- Посмотрите XML-файл макета.
- Посмотрите XML-файл
MotionScene.
ViewPager – Lottie
В этом примере показано, как добавить эффект движения при переключении между вкладками 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.