react-native Animated, 旋转动画

Animated 仅封装了四个可以动画化的组件:

  ViewTextImage、ScrollView

可以使用 Animated.createAnimatedComponent)来封装你自己的组件。

下面是使用 Image 旋转的例子

import React, {Component} from 'react';
import { StyleSheet, View, Animated, Easing } from 'react-native';

const circle = require'../../resources/img/loginCircle.png');
class Index extends Component {
    constructorprops) {
        superprops);
        this.spinValue = new Animated.Value0)
        this.state = {
        };
    }
    componentDidMount){
        this.spin);
    }
    //旋转方法
    spin = ) => {
        this.spinValue.setValue0)
        Animated.timingthis.spinValue,{
          toValue: 1, // 最终值 为1,这里表示最大旋转 360度
          duration: 4000,
          easing: Easing.linear
       }).start) => this.spin))
    }
    render) {
        const { user, pwd, fadeAnim} = this.state;
        //映射 0-1的值 映射 成 0 - 360 度  
        const spin = this.spinValue.interpolate{
            inputRange: [0, 1],//输入值
            outputRange: ['0deg', '360deg'] //输出值
          })
        return
            <View style={styles.container}>
                    <Animated.Image style={[styles.circle,{transform:[{rotate: spin }]}]} source={circle}/>
            </View>
        );
    }
}
const styles = StyleSheet.create{
    container:{
        flex:1,
        alignItems:'center',
        justifyContent:'center',
        backgroundColor:'#00a0e4'
    },
    circle:{
        position:'absolute',
         300,
        height: 306
    }
});
export default Index;

https://reactnative.cn/docs/0.50/animations.html

Published by

风君子

独自遨游何稽首 揭天掀地慰生平