mirror of
https://github.com/zimplexing/OrionTV.git
synced 2026-02-04 03:36:29 +08:00
41 lines
859 B
TypeScript
41 lines
859 B
TypeScript
import {StyleSheet} from 'react-native';
|
|
import Animated, {
|
|
useSharedValue,
|
|
useAnimatedStyle,
|
|
withTiming,
|
|
withRepeat,
|
|
withSequence,
|
|
} from 'react-native-reanimated';
|
|
|
|
import {ThemedText} from '@/components/ThemedText';
|
|
|
|
export function HelloWave() {
|
|
const rotationAnimation = useSharedValue(0);
|
|
|
|
rotationAnimation.value = withRepeat(
|
|
withSequence(
|
|
withTiming(25, {duration: 150}),
|
|
withTiming(0, {duration: 150}),
|
|
),
|
|
4, // Run the animation 4 times
|
|
);
|
|
|
|
const animatedStyle = useAnimatedStyle(() => ({
|
|
transform: [{rotate: `${rotationAnimation.value}deg`}],
|
|
}));
|
|
|
|
return (
|
|
<Animated.View style={animatedStyle}>
|
|
<ThemedText style={styles.text}>👋</ThemedText>
|
|
</Animated.View>
|
|
);
|
|
}
|
|
|
|
const styles = StyleSheet.create({
|
|
text: {
|
|
fontSize: 28,
|
|
lineHeight: 32,
|
|
marginTop: -6,
|
|
},
|
|
});
|