Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
164 of 196 menu
◀ ▶

Класс Value

Класс Value в коде пишут как Animated.Value. Конструктор принимает начальное число. Методы setValue и interpolate меняют или переводят значение для стиля. Метод removeListener снимает подписку по ид из addListener. Методы setOffset, extractOffset и stopTracking работают со смещением при жесте и отвязывают значение от события.

Синтаксис

import { Animated } from 'react-native'; const opacity = new Animated.Value(0);

Методы

Метод Описание
setValue Ставит число сразу, без анимации.
interpolate Переводит диапазон входа в диапазон выхода для стиля.
addListener Вызывает колбэк при каждом изменении числа.
stopAnimation Останавливает текущую анимацию и отдает число в колбэк.

Пример

Давайте спрячем блок через прозрачность:

import { useRef } from 'react'; import { Animated, View, Text } from 'react-native'; export default function App() { const opacity = useRef(new Animated.Value(0.2)).current; return ( <Animated.View style={{ opacity }}> <Text>abcde</Text> </Animated.View> ); }

На экране текст полупрозрачный, пока значение не анимируют.

Пример

Давайте переведем число в смещение через interpolate:

import { useEffect, useRef } from 'react'; import { Animated, View } from 'react-native'; export default function App() { const progress = useRef(new Animated.Value(0)).current; useEffect(() => { Animated.timing(progress, { toValue: 1, duration: 500, useNativeDriver: true, }).start(); }, [progress]); const shift = progress.interpolate({ inputRange: [0, 1], outputRange: [0, 120], }); return ( <Animated.View style={{ transform: [{ translateX: shift }] }}> <View style={{ width: 48, height: 48, backgroundColor: '#cc9933' }} /> </Animated.View> ); }

На экране квадрат едет вправо по мере роста progress от нуля до единицы.

Смотрите также

  • класс Animated,
    который запускает анимации над Value
  • класс ValueXY,
    который хранит две координаты
  • компонент Animated.View,
    который принимает Value в style
  • класс Easing,
    который задает кривую для timing
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить