React Native学习——动画Animated(笔记)
很多地方都需要用到动画,先看下文档吧。
一、两个互补的动画系统
- LayoutAnimation:用于全局的布局动画
- Animated:用于创建更精细的交互控制的动画(主要是这个)
二、Animated动画组件
- 已封装动画组件
Animated.ImageAnimated.ScrollViewAnimated.TextAnimated.View
- 自定义动画组件
- 可以使用
Animated.createAnimatedComponent()来封装自己的组件
- 可以使用
三、两种类型的值
Animated.Value()用于单个值。Animated.ValueXY()用于矢量值
注:Animated.Value可以绑定到样式或是其他属性上,也可以进行插值运算。单个Animated.Value可以用在任意多个属性上。
四、三种动画类型
Animated.decay()以指定的初始速度开始变化,然后变化速度越来越慢直至停下(递减)
velocity: 初始速度。必填。deceleration: 衰减系数。默认值0.997。useNativeDriver: 使用原生动画驱动。默认不启用(false)。
Animated.spring()提供了一个简单的弹性模型
friction:控制“反弹”/过冲。默认7。tension:控制速度。默认40。speed:控制动画的速度。默认12。bounciness:控制弹性。默认8。useNativeDriver:使用原生动画驱动。默认不启用(false)。
Animated.timing()随着时间变化,使value按照easing函数进行变化
duration:动画的持续时间(毫秒)。默认值为500。easing:easing函数来定义曲线。默认值为Easing.inOut(Easing.ease)。delay:开始动画前的延迟时间(毫秒)。默认为0。useNativeDriver:使用原生动画驱动。默认不启用(false)。
五、组合动画
Animated.delay()在给定的延迟后开始动画。Animated.parallel()同时启动一些动画。Animated.sequence()按顺序启动动画,一个完成再开始下一个。Animated.stagger()一个动画数组,里面的动画有可能会同时执行(重叠),不过会以指定的延迟来开始。starts animations in order and in parallel, but with successive delays.
注:默认情况下,如果一个动画停止或中断,则组中的所有其他动画也会停止。
六、合成动画值
Animated.add() 将两个动画值相加计算,得出一个新的动画值Animated.divide() 相除Animated.modulo() 取模(取余数)Animated.multiply() 相乘
七、插值
interpolate()
注:已知离散点,且插值函数要过每个离散点,离散点以外的就是插值(个人理解)
八、处理手势和其他事件
Animated.event()
--------------------------------------
没写例子,等我整明白滴(。-ω-)zzz
React Native学习——动画Animated(笔记)的更多相关文章
- React Native 学习笔记--进阶(二)--动画
React Native 进阶(二)–动画 动画 流畅.有意义的动画对于移动应用用户体验来说是非常必要的.我们可以联合使用两个互补的系统:用于全局的布局动画LayoutAnimation,和用于创建更 ...
- React Native 学习-01
React Native 学习 (学习版本 0.39) 一.环境配置 二.IDE选择 webstorm 1.webstorm配置 ①.首先是可以选择使用汉化包汉化.eu68 ②.安装插件和外部库. 由 ...
- react native 学习一(环境搭配和常见错误的解决)
react native 学习一(环境搭配) 首页,按照http://reactnative.cn/docs/0.30/getting-started.html#content上的介绍,下载安装pyt ...
- React Native 学习资料
React Native 学习资料 学习资料 网址 React Native中文网 https://reactnative.cn/
- React Native 学习(三)之 FlexBox 布局
React Native 学习(三)之 FlexBox 布局
- React Native学习笔记之2
1:如何创建一个react native工程 首先进入到指定文件夹里面,然后在终端执行react-native init ReactNativeProject :其中ReactNativeProjec ...
- React Native学习笔记之1
1:运行React Native报连接错误解决 解决方式: 在终端进入项目文件里,然后执行:(cd Pods/React; npm run start) 2:组件生命周期介绍 创建阶段 1. getD ...
- react native 学习笔记
假设你的机器现在还没安装任何环境. 不同的操作系统.不同的目标平台,具体的步骤也会有所不同.如果你想同时开发android和ios也没问题,只需要先选一个平台开始,另一个平台的环境搭建只是稍有不同 本 ...
- React Native学习(二)之View
React Native组件解析(二)之View 0.JSX React的核心机制之一就是虚拟DOM:可以在内存中创建的虚拟DOM元素.React利用虚拟DOM来减少对实际DOM的操作从而提升性能. ...
随机推荐
- excel中添加拼接行
Sub 万途标签()Dim iFor i = 1 To Sheets.Count If Sheets(i).Name = "数据表" Then If MsgBo ...
- cas单点登录如何获取更多信息
现在有个新的系统(SpringMVC+Spring+Mybatis),我为它添加了一个单点登录功能.只是在本地客户端的web.xml文件里,添加了以下配置 <!-- 用于单点退出,该过滤器用于实 ...
- LeetCode 120. Triangle (三角形)
Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent n ...
- php导出csv报表
最近系统有一个导出报表功能,之前是导出的.xsl报表,但是当导出数据达到十万条时,导出经常出现超时与导出数据不全的情况,原因是导出.xsl报表会进行HTML渲染,在这步就会卡死.所以改成了导出.csv ...
- 04-从零玩转JavaWeb-JVM内存详情分析
JVM内存划分栈与栈帧 JVM将内存主要划分为: 方法区 虚拟机栈 本地方法栈 堆 程序计数器 一.方法区:存放字节码,常量 ,静态变量,是一个共享的区域 二.虚拟机栈:执行方法其实就是栈帧入栈,出栈 ...
- 《mysql必知必会》读书笔记--安全管理及数据库维护
安全管理 mysql自带的mysql数据库中的user表可查看用户所有资料 创建用户帐号 CREATE USER ben IDENTIFIED BY 'p@$$wOrd' 重命名用户帐号 RENAME ...
- Vim 神器的打造方式
Vim 神器的打造方式 [字体:大 中 小] Vim 是一个上古神器,本篇文章主要持续总结使用 Vim 的过程中不得不了解的一些指令和注意事项,以及持续分享一个前端工作者不得不安装的一些插 ...
- @RequestBody对象为空,异常Required request body is missing
1.异常 org.springframework.http.converter.HttpMessageNotReadableException: Required request body is mi ...
- Ubuntu下通过makefile生成静态库和动态库简单实例
本文转自http://blog.csdn.net/fengbingchun/article/details/17994489 Ubuntu环境:14.04 首先创建一个test_makefile_gc ...
- hdu1285 确定比赛名次(拓扑排序)
有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道 ...