RN Animated实现一个小手loop动画,可用于引导点击

本文介绍了一个使用React Native创建的手图标动画案例。通过Animated API实现图标上下浮动的效果,并附带了完整的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接上代码:

class HandIcon extends Component {

    constructor(props) {
        super(props);
        this.state = {
            offset: new Animated.Value(0),
        }
    }

    componentDidMount() {
        this.startAnimated();
    }

    startAnimated = () => {
        const animationSlider =  Animated.sequence([
            Animated.timing(this.state.offset, {
                toValue: 30,
                duration: 300,
                delay: 0,
                easing: Easing.bezier(.79,.01,.33,1.01),
            }),
            Animated.timing(this.state.offset, {
                toValue: 0,
                duration: 300,
                delay: 0,
                easing: Easing.bezier(.79,.01,.33,1.01),
            }),
        ]);
        Animated.loop(animationSlider).start();
    }

    render() {
        return (
            <View pointerEvents={'none'} style={{
                alignItems: 'center',
                justifyContent: 'space-between',
                ...this.props.style
            }}>
                <Animated.Image 
                    source={require('./source/images/hand-icon.png')} 
                    style={{
                        width: 120,
                        height: 168,
                        transform: [
                            {
                                translateY: this.state.offset
                            }    
                        ],
                    }}>
                </Animated.Image>
                <Text style={{
                    fontSize: 30,
                    fontWeight: "900",
                    color: "#FFFFFF",
                }}> 点击有惊喜~</Text>
            </View>
            
        );
    }
}

效果如下:没错!就是这种进进出出的感觉~哈哈

 

附上小手的素材:是白的,白的。。。你看不见~

小手

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值