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

Метод getTranslateTransform

Метод getTranslateTransform у ValueXY синхронно возвращает массив с одним объектом translate. Его передают в transform у Animated.View.

Синтаксис

const transform = pan.getTranslateTransform();

Пример

Давайте получим массив для нулевого смещения:

import { Animated } from 'react-native'; const pan = new Animated.ValueXY({ x: 0, y: 0 }); const res = pan.getTranslateTransform();

Результат выполнения кода:

[{ translateX: 0 }, { translateY: 0 }]

Пример

Давайте сдвинем блок через transform:

import { useRef } from 'react'; import { Animated, View, Pressable, Text } from 'react-native'; export default function App() { const pan = useRef(new Animated.ValueXY({ x: 0, y: 0 })).current; return ( <View> <Pressable onPress={() => pan.setValue({ x: 60, y: -20 })}> <Text>abcde</Text> </Pressable> <Animated.View style={{ transform: pan.getTranslateTransform() }}> <View style={{ width: 40, height: 40, backgroundColor: '#aa6633' }} /> </Animated.View> </View> ); }

На экране квадрат уезжает вправо и чуть вверх после нажатия.

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

  • метод getLayout,
    который дает left и top вместо transform
  • компонент View,
    где описан ключ transform
  • метод interpolate,
    который переводит одну ось Value
  • класс Animated,
    который анимирует x и y через spring
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить