在 React Native 中实现 3D 动画
import React, { useRef } from 'react';
import { Animated, StyleSheet, Text, View } from 'react-native';
const FadeInView = ({ children }) => {
const fadeAnim = useRef(new Animated.Value(0)).current; // 初始透明度为0
React.useEffect(() => {
Animated.timing(fadeAnim, {
toValue: 1,
duration: 3000,
useNativeDriver: true
}).start(); // 3秒内将透明度变化至1(完全不透明)
}, [fadeAnim]);
return (
<Animated.View style={{...styles.fadeIn, opacity: fadeAnim}}>
{children}
</Animated.View>
);
}
const App = () => {
return (
<View style={styles.container}>
<FadeInView>
<Text style={styles.welcome}>3D旋转效果示例</Text>
</FadeInView>
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
fadeIn: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
},
});
export default App;
这个代码实例展示了如何在React Native应用中创建一个简单的淡入动画组件,并且如何在一个Text组件上应用3D旋转动画。这个例子使用了Animated API和react-native-reanimated库,并且展示了如何使用useRef来保持动画状态的稳定性。
评论已关闭