Flip animation — 3D flip effect.
Implementation:
1import { Animated, View, Text, StyleSheet } from "react-native";23function FlipCard({ front, back }) {4 const flipAnim = useRef(new Animated.Value(0)).current;5 const [showFront, setShowFront] = useState(true);67 const frontOpacity = flipAnim.interpolate({8 inputRange: [0, 0.5, 0.5, 1],9 outputRange: [1, 1, 0, 0],10 });1112 const backOpacity = flipAnim.interpolate({13 inputRange: [0, 0.5, 0.5, 1],14 outputRange: [0, 0, 1, 1],15 });1617 const flip = () => {18 Animated.timing(flipAnim, {19 toValue: showFront ? 1 : 0,20 duration: 500,21 useNativeDriver: true,22 }).start(() => setShowFront(!showFront));23 };2425 return (26 <View style={styles.container}>27 <Animated.View style={[styles.card, { opacity: frontOpacity }]}>28 <Text>{front}</Text>29 </Animated.View>30 <Animated.View style={[styles.card, { opacity: backOpacity }]}>31 <Text>{back}</Text>32 </Animated.View>33 </View>34 );35}