В наши дни сложно представить себе мобильное приложение в котором бы совсем не было анимаций. Хорошая анимация позволяет создать приложение, привлекающее внимание и удобное для пользования, при этом не отвлекая пользователя от самого приложения. Это не техническая статья, а скорее обзор возможностей того, как оживить ваше приложение, не сильно раздувая бюджет и сроки выполнения проекта.
Зачем нужна анимация?
Anima — душа (лат.). Анимация в мобильном дизайне — процесс «одушевления» неживых объектов через добавление движения. Эволюционно сложилось так, что человек больше следит за движущимися объектами — когда-то давно это было необходимо для выживания. Таким образом, добавив немного анимации в мобильное приложение, мы можем заставить пользователей ощущать его более «живым» — то чему можно доверять и взаимодействовать. Особенно это важно в мобильных приложениях, где пользователь взаимодействует с интерфейсом напрямую, при помощи интуитивных жестов.
У Android довольно много инструментов, которые помогут вам создать анимацию с относительной легкостью. Но некоторые виды анимаций довольно сложны в реализации, их обилие может сильно увеличить стоимость приложения.
Animating Layout Changes
Самый простой способ — анимация изменений макета (Animating Layout Changes). Анимация макета — это предварительно загруженная анимация, которую система запускает каждый раз, когда вы вносите изменения в конфигурацию макета. Все, что вам нужно сделать — установить атрибут в макете, чтобы сообщить системе Android об анимации этих изменений макета, и для вас будет выполняться анимация по умолчанию. При добавлении, удалении или обновлении элементов в макете они будут автоматически анимироваться, это отлично подходит для экранов с несколькими статусами и списками:
Coordinator Layout
Главная способность этого макета — координировать зависимости между дочерними элементами. Для этого все что нам нужно — задать правила поведения элементам, при том что для части стандартных элементов уже предусмотрено поведение по умолчанию. Также есть возможность изменить поведение по умолчанию для любого элемента в макете. Рассмотрим следующую картинку:
В этом примере можно увидеть, как элементы размещены друг относительно друга. Не прибегая к детальному просмотру, мы видим как одни элементы зависят от других.
Анимирование панели при скролле
Это позволяет размещать элементы вертикально, с определенными параметрами и управлять их поведением, когда содержимое прокручивается. Также есть возможность задавать правила как должны вести себя элементы при скролле.
Такая анимация отлично подходит для реализации экранов с большим количеством контента, где часть информации мы можем выделить как основную. Отличный пример такого экрана — это профайл пользователя.
Reveal Effect
Reveal Effect обеспечивает зрительную непрерывность пользовательского интерфейса, когда вы показываете или скрываете отдельную группу элементов. Этот эффект отлично подходит при переходах между фрагментами или изменениях состояния экрана.
На основе Reveal Effect можно сделать более сложные эффекты. Например, если совместить его с анимированием параметров элемента, можно реализовать вот такой переход между экранами:
Переходы между экранами
Переходы в приложениях Material Design обеспечивают зрительные связи между различными состояниями путем движения элементов и преобразований между общими элементами которые присутствуют на обоих экранах. Можно выбрать настраиваемые анимации для начальных и конечных переходов, а также для переходов общих элементов между экранами.
С помощью этих простых инструментов у нас есть возможность, в короткие сроки, визуально улучшить мобильное приложение, что позитивно скажется на конечной стоимости проекта. Единственное рекомендуемое условие — все анимации должны соответствовать принципам Material Design. Это важно, так как сильное отклонение от этих принципов уже не даст возможности реализовать все анимации стандартными способами, что увеличит сложность и время на разработку.
Нужна помощь в создании нативного приложения под Android? Напишите нам на info@stfalcon.com, чтобы поделиться своей идеей. Команда разработчиков Stfalcon поможет реализовать самые смелые бизнес идеи!