Создание Rive-анимаций для интерактивных элементов мобильного приложения

Стандартная Lottie-анимация — просто проигрывание. Rive — это диалог с пользователем. Разница фундаментальная: Rive State Machine позволяет кнопке реагировать на нажатие, удержание, hover, отпускание — каждый переход со своей анимацией. Чекбокс анимированно включается и выключается, переключатель ре

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Создание Rive-анимаций для интерактивных элементов мобильного приложения
Средний
~3-5 дней

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    895
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    597

Стандартная Lottie-анимация — просто проигрывание. Rive — это диалог с пользователем. Разница фундаментальная: Rive State Machine позволяет кнопке реагировать на нажатие, удержание, hover, отпускание — каждый переход со своей анимацией. Чекбокс анимированно включается и выключается, переключатель реагирует на drag в реальном времени. Всё это без единой строки анимационного кода в приложении — только передача inputs в State Machine.

Представьте: пользователь тапает кнопку, и она не просто меняет цвет, а пружинит, появляется ripple-эффект, кнопка приподнимается — всё это одна Rive-анимация, управляемая State Machine. Никакого кода для анимации — только передача входных данных. Мы специализируемся на создании таких интерактивных Rive-анимаций для мобильных приложений. Наш подход избавляет от лишнего кода и делает UI живым. За 5+ лет мы реализовали более 50 проектов, от простых кнопок до сложных анимационных систем.

По сравнению с Lottie, Rive сокращает время разработки интерактивных элементов на 60% и уменьшает размер файла в 3 раза. При этом качество анимации остаётся нативным, без потери производительности — гарантируем 60 FPS на всех устройствах.

Как работает Rive State Machine?

Rive Editor предоставляет State Machine с графическим редактором состояний и переходов. Для интерактивного элемента это выглядит так:

  • State: idle → анимация спокойного состояния (может быть idle loop)
  • State: hovered → subtle highlight или scale 1.02
  • State: pressed → scale down 0.96 + color change
  • State: disabled → fade to 40% opacity

Transitions между состояниями управляются Boolean или Trigger inputs. isHovered: Bool, isPressed: Bool. Transition conditions: когда isHovered = true → переходим в hovered. В runtime приложения при onTouchDownsetInput("isPressed", value: true), при onTouchUpfalse.

Переходы в Rive имеют Duration и Easing — анимация перехода встроена в State Machine, не нужно дополнительно настраивать в коде.

Какие элементы делаем в Rive

Toggle/Switch: два состояния с физически-ощущаемой анимацией. Кружок переключателя движется с spring easing, фон меняет цвет. Drag gesture можно смапить на Number input — пользователь буквально тащит переключатель, и анимация следует за пальцем.

Checkbox: checked/unchecked с нарисованной галочкой, intermediate state для indeterminate. Морфинг формы в Rive работает через mesh — граница checkbox плавно деформируется при нажатии.

Loading indicator: не просто спиннер, а contextual: прогресс-бар, который через Number input показывает реальный прогресс загрузки. При 100% — transition в success state с celebration анимацией.

Bottom sheet handle: реагирует на drag. При yPosition input обновляется в реальном времени через gesture recognizer — ручка растягивается, указывая направление движения.

Like / Favourite button: idle → pressed (burst эффект) → liked state. Trigger tap запускает одноразовую анимацию burst, Boolean isLiked управляет конечным состоянием.

Элемент Состояния Inputs Сложность
Кнопка idle, hovered, pressed, disabled Bool: isHovered, isPressed Низкая
Toggle on, off, dragging Bool: isOn, Number: dragOffset Средняя
Checkbox unchecked, checked, indeterminate Bool: isChecked Низкая
Loading idle, progress, success Number: progress, Trigger: start, complete Высокая

Как создать интерактивный элемент в Rive?

  1. Определите состояния и переходы. Нарисуйте mind map: idle → hovered → pressed → released. Учтите все пользовательские сценарии.
  2. Создайте анимационные клипы. В Rive Editor для каждого состояния создайте timeline: idle loop, press animation, release animation. Дайте им семантические имена: idle, press, release.
  3. Постройте State Machine. В отдельной вкладке State Machine добавьте состояния, привязанные к клипам. Настройте переходы с duration и easing. Объявите inputs (Boolean, Trigger, Number) и документируйте их имена — опечатки приводят к молчаливым багам.
  4. Экспортируйте и интегрируйте. Экспортируйте .riv файл. Интеграция в iOS через RiveRuntime, в Android через Rive library. В коде просто передавайте значения inputs при жестах.

Что входит в нашу работу

  • Анализ: определяем список интерактивных элементов и их поведение
  • Дизайн анимаций: создаём векторные элементы в Rive Editor, включая все состояния
  • Построение State Machine: настраиваем переходы и inputs, документируем их
  • Интеграция: подключаем .riv файл в проект iOS (SwiftUI/UIKit) или Android (Kotlin Compose/XML)
  • Тестирование: проверяем реакцию на все жесты, отсутствие багов и плавность анимаций
  • Документация: передаём файл .riv, список inputs, рекомендации по настройке runtime
  • Поддержка: помогаем с багами и обновлениями анимаций после выкатки

Примерные временные затраты

Элемент Простой (2-3 состояния) Средний (4-5 состояний) Сложный (blend states, много inputs)
Кнопка 1 день 1.5 дня 2 дня
Toggle 1 день 2 дня 3 дня
Checkbox 0.5 дня 1 день 1.5 дня
Loading 2 дня 3 дня 4 дня

Типичные ошибки и как их избежать

  • Опечатки в именах input: State Machine не реагирует, но ошибку не выдаёт. Решение: документируйте все input-имена и передавайте их разработчику.
  • Слишком много состояний: каждый лишний state увеличивает время разработки. Решение: на начальном этапе достаточно 2-4 состояний.
  • Использование растровых текстур: увеличивают размер .riv файла и ухудшают масштабируемость. Решение: используйте только векторные формы.
  • Игнорирование easing: анимация выглядит дёрганой. Решение: настраивайте duration и easing для каждого перехода — spring easing даёт наиболее натуральный отклик.

Получите консультацию — мы поможем подобрать оптимальную анимацию для вашего приложения. Свяжитесь с нами для оценки вашего проекта.

Официальная документация Rive