react native 平移动画

2023-11-20  本文已影响0人  王宣成
import React, { useEffect, useRef } from 'react';
import { Animated, View, StyleSheet } from 'react-native';

const TranslateAnimation = () => {
  const position = useRef(new Animated.ValueXY({ x: 0, y: 0 })).current;

  useEffect(() => {
    Animated.timing(position, {
      toValue: { x: 200, y: 200 },
      duration: 1000,
      useNativeDriver: true,
    }).start();
  }, []);

  return (
    <Animated.View style={[styles.box, { transform: position.getTranslateTransform() }]}>
      {/* 在这里放置其他组件 */}
    </Animated.View>
  );
};

const App = () => {
  return (
    <View style={styles.container}>
      <TranslateAnimation />
    </View>
  );
};

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
  },
  box: {
    width: 100,
    height: 100,
    backgroundColor: 'blue',
  },
});

export default App;
上一篇下一篇

猜你喜欢

热点阅读