react-native 仿网易云音乐旋转唱片动画
来源:互联网 发布:网络教育报考流程 编辑:程序博客网 时间:2024/05/16 13:06
一直觉得网易云音乐的播放界面很酷,现在利用react-native 动画实现这个界面.要点有两个,1
图片要变园使用borderRadius=1/2height.2
动画处理改变图片的旋转角度
使用方法,直接react-native init 一个项目,然后把这段代码复制到入口文件中
下面看代码
/** * Sample React Native App * https://github.com/facebook/react-native * */import React, { Component } from 'react';import { AppRegistry, StyleSheet, Text, View, Animated, //使用Animated组件 Easing, //引入Easing渐变函数} from 'react-native';class ReactNativeDemo extends Component { constructor(props:any) { super(props); //使用Animated.Value设定初始化值(缩放度,角度等等) this.state = { bounceValue: new Animated.Value(1), //你可以改变这个值看//看效果是什么 rotateValue: new Animated.Value(0),//旋转角度的初始值 }; } componentDidMount() { //在初始化渲染执行之后立刻调用动画执行函数 this.startAnimation(); } startAnimation() { this.state.bounceValue.setValue(1);//和上面初始值一样,所以//弹动没有变化 this.state.rotateValue.setValue(0); Animated.parallel([ //通过Animated.spring等函数设定动画参数 //可选的基本动画类型: spring, decay, timing Animated.spring(this.state.bounceValue, { toValue: 1, //变化目标值,也没有变化 friction: 20, //friction 摩擦系数,默认40 }), Animated.timing(this.state.rotateValue, { toValue: 1, //角度从0变1 duration: 15000, //从0到1的时间 easing: Easing.out(Easing.linear),//线性变化,匀速旋转 }), //调用start启动动画,start可以回调一个函数,从而实现动画循环 ]).start(()=>this.startAnimation()); } render() { return ( <View style={styles.container}> //插入一张图片 <Animated.Image source={require('./img/pic.jpg')} style={{width:150, height: 150,borderRadius:75, //图片变园 transform: [ //将初始化值绑定到动画目标的style属性上 {scale: this.state.bounceValue}, //使用interpolate插值函数,实现了从数值单位的映//射转换,上面角度从0到1,这里把它变成0-360的变化 {rotateZ: this.state.rotateValue.interpolate({ inputRange: [0,1], outputRange: ['0deg', '360deg'], })}, ]}}> </Animated.Image> </View> ); }}const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', }});AppRegistry.registerComponent('AnimatinoDemo', () => ReactNativeDemo);
0 0
- react-native 仿网易云音乐旋转唱片动画
- Android版网易云音乐唱片机唱片磁盘旋转及唱片机机械臂动画关键代码实现思路
- React Native动画之Animated仿网易云音乐启动动画
- React Native动画之Animated仿网易云音乐启动动画
- React Native之DrawerLayoutAndroid仿网易云音乐滑动菜单
- React Native之DrawerLayoutAndroid仿网易云音乐滑动菜单
- 网易云音乐唱片机效果
- 网易云音乐唱片机效果
- 一起学ReactNative(3) 实现网易云音乐旋转唱片效果
- Swift版本仿网易云音乐播放音乐动画效果
- 仿网易云音乐
- 仿网易云音乐收藏的小动画
- 用RotateDrawable实现网易云音乐唱片机效果
- 用RotateDrawable实现网易云音乐唱片机效果
- 用RotateDrawable实现网易云音乐唱片机效果
- 仿网易云音乐播放音乐转盘
- android仿网易云音乐、即时通讯、bilibili、沙漏动画等源码
- 仿网易云音乐的播放进度条
- h264 NAL头解析
- 如何制作动态图片gif
- 算法设计与应用基础:第八周(1)
- 判断下拉框选中
- 通讯中本机与虚拟机的连接
- react-native 仿网易云音乐旋转唱片动画
- 正则表达式
- Android Stuido 无线调试
- Java中成员变量和局部变量
- 使用正则表达式进行简单的邮箱验证操作
- C++函数返回值,你必须注意的问题
- 灰色关联分析法
- ci qq接口
- 招商银行掌上生活APP安卓版占用大量空间