Создание анимации вращения в React Native

Использование хуков

В этом уроке я покажу вам, как создать кнопку, которая поворачивается на 720 градусов при нажатии. Мы будем использовать систему анимации React Native Animated для создания анимации вращения.

Фото Кинсона Люна на Unsplash

Создание компонента

Во-первых, мы создаем функциональный компонент ButtonWithSpin, внутри которого находится TouchableOpacityкомпонент с текстом.

Обратите внимание, что текст создается с помощью Animated.Textкомпонента. Это потому, что текст, который будет вращаться, должен быть анимируемым . Если вы вращаете что-то еще, вы также можете использовать любой из этих компонентов:

  • Анимированное.Изображение
  • Анимированный.ScrollView
  • Анимированный.Просмотр
  • Анимированный.Текст
  • Анимированный.FlatList
  • Animated.SectionList

Функция handleAnimation

Animated.timing()анимирует значение с течением времени, используя функции плавности . По умолчанию он использует easeInOutкривую, которая идеально подходит для того, что мы делаем. Мы передаем наше rotateAnimationзначение и значение конфигурации, где мы устанавливаем продолжительность 800 мс. Анимация запускается вызовом start(), и мы включаем функцию обратного вызова, которая сбрасывает анимацию.

Интерполировать

Метод interpolate()отображает входные диапазоны в выходные диапазоны. Базовое отображение для преобразования диапазона 0–1 в диапазон 0–100 будет следующим:

value.interpolate({
  inputRange: [0, 1],
  outputRange: [0, 100]
});

Мы также создали animatedStyleобъект, который включает в себя массив transformсо значением поворота interpolateRotating, который мы только что создали.

Собираем все вместе

Добавьте animtedStyleобъект к Animated.Textкомпоненту и a widthк TouchableOpacityкомпоненту, и все готово!

Вот так выглядит конечный продукт:

Кнопка крутится после нажатия

И код:

И вот оно. Я надеюсь, что вы нашли это полезным. Это был мой первый пост на Medium, поэтому любой отзыв очень ценен!

Suggested posts

Поиск информации о доменных именах

Отрывок из книги «Маленькие программные инструменты Sharp» Брайана П. Хогана.

Поиск информации о доменных именах

Когда вы делаете запрос на facebook.com, ваш компьютер ищет доменное имя, чтобы преобразовать это доменное имя в IP-адрес, чтобы ваш компьютер мог установить это соединение.

Два года в дизайне: хорошее, плохое и уродливое…

Два года в дизайне: хорошее, плохое и уродливое…

«Привет, Siri, включи Me Dive Оливии Дин». В мае 2021 года я начал стажировку в Future Academy Africa в Акуре, Нигерия.

Related posts

Обучение на рабочей неделе важнее, чем вы думаете

Обучение на рабочей неделе важнее, чем вы думаете

Мы часто обнаруживаем, что изо всех сил пытаемся реализовать то, что, как мы знаем, полезно для нас. От того, чтобы сказать значимому другому, что мы любим его, до того, чтобы помнить, что нужно говорить как пират, всегда будут те, кто утверждает, что день, неделя или месяц событий не нужны, потому что они уже делают эти вещи.

Создание безопасной рабочей среды

Создание безопасной рабочей среды

«Он защитит меня, когда я в опасности. Он спрячет меня в своей палатке.

Опасные разговоры

Опасные разговоры

Если мы хотим продолжать процветать на этой планете, нам придется вести опасные разговоры. Те, которые бросают вызов тому, что мы сделали, что мы делаем и что мы в настоящее время собираемся продолжать делать (или планируем делать).

Переосмысление медиа: пять истин Макчесни и будущее коммуникаций

В современном гиперсвязанном мире системы СМИ играют ключевую роль в формировании общественного мнения и, следовательно, в демократическом принятии решений. В своем глубоком анализе политической экономии коммуникации ученый Роберт МакЧесни бросает вызов общепринятому мнению и представляет то, что он называет «пятью истинами» о СМИ.