很多地方都需要用到动画,先看下文档吧。

一、两个互补的动画系统

  • LayoutAnimation:用于全局的布局动画
  • Animated:用于创建更精细的交互控制的动画(主要是这个)

二、Animated动画组件

  • 已封装动画组件

    • Animated.Image
    • Animated.ScrollView
    • Animated.Text
    • Animated.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(笔记)的更多相关文章

  1. React Native 学习笔记--进阶(二)--动画

    React Native 进阶(二)–动画 动画 流畅.有意义的动画对于移动应用用户体验来说是非常必要的.我们可以联合使用两个互补的系统:用于全局的布局动画LayoutAnimation,和用于创建更 ...

  2. React Native 学习-01

    React Native 学习 (学习版本 0.39) 一.环境配置 二.IDE选择 webstorm 1.webstorm配置 ①.首先是可以选择使用汉化包汉化.eu68 ②.安装插件和外部库. 由 ...

  3. react native 学习一(环境搭配和常见错误的解决)

    react native 学习一(环境搭配) 首页,按照http://reactnative.cn/docs/0.30/getting-started.html#content上的介绍,下载安装pyt ...

  4. React Native 学习资料

    React Native 学习资料 学习资料 网址 React Native中文网 https://reactnative.cn/

  5. React Native 学习(三)之 FlexBox 布局

    React Native 学习(三)之 FlexBox 布局

  6. React Native学习笔记之2

    1:如何创建一个react native工程 首先进入到指定文件夹里面,然后在终端执行react-native init ReactNativeProject :其中ReactNativeProjec ...

  7. React Native学习笔记之1

    1:运行React Native报连接错误解决 解决方式: 在终端进入项目文件里,然后执行:(cd Pods/React; npm run start) 2:组件生命周期介绍 创建阶段 1. getD ...

  8. react native 学习笔记

    假设你的机器现在还没安装任何环境. 不同的操作系统.不同的目标平台,具体的步骤也会有所不同.如果你想同时开发android和ios也没问题,只需要先选一个平台开始,另一个平台的环境搭建只是稍有不同 本 ...

  9. React Native学习(二)之View

    React Native组件解析(二)之View 0.JSX React的核心机制之一就是虚拟DOM:可以在内存中创建的虚拟DOM元素.React利用虚拟DOM来减少对实际DOM的操作从而提升性能. ...

随机推荐

  1. excel中添加拼接行

    Sub 万途标签()Dim iFor i = 1 To Sheets.Count    If Sheets(i).Name = "数据表" Then        If MsgBo ...

  2. cas单点登录如何获取更多信息

    现在有个新的系统(SpringMVC+Spring+Mybatis),我为它添加了一个单点登录功能.只是在本地客户端的web.xml文件里,添加了以下配置 <!-- 用于单点退出,该过滤器用于实 ...

  3. LeetCode 120. Triangle (三角形)

    Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent n ...

  4. php导出csv报表

    最近系统有一个导出报表功能,之前是导出的.xsl报表,但是当导出数据达到十万条时,导出经常出现超时与导出数据不全的情况,原因是导出.xsl报表会进行HTML渲染,在这步就会卡死.所以改成了导出.csv ...

  5. 04-从零玩转JavaWeb-JVM内存详情分析

    JVM内存划分栈与栈帧 JVM将内存主要划分为: 方法区 虚拟机栈 本地方法栈 堆 程序计数器 一.方法区:存放字节码,常量 ,静态变量,是一个共享的区域 二.虚拟机栈:执行方法其实就是栈帧入栈,出栈 ...

  6. 《mysql必知必会》读书笔记--安全管理及数据库维护

    安全管理 mysql自带的mysql数据库中的user表可查看用户所有资料 创建用户帐号 CREATE USER ben IDENTIFIED BY 'p@$$wOrd' 重命名用户帐号 RENAME ...

  7. Vim 神器的打造方式

    Vim 神器的打造方式     [字体:大 中 小]   Vim 是一个上古神器,本篇文章主要持续总结使用 Vim 的过程中不得不了解的一些指令和注意事项,以及持续分享一个前端工作者不得不安装的一些插 ...

  8. @RequestBody对象为空,异常Required request body is missing

    1.异常 org.springframework.http.converter.HttpMessageNotReadableException: Required request body is mi ...

  9. Ubuntu下通过makefile生成静态库和动态库简单实例

    本文转自http://blog.csdn.net/fengbingchun/article/details/17994489 Ubuntu环境:14.04 首先创建一个test_makefile_gc ...

  10. hdu1285 确定比赛名次(拓扑排序)

    有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道 ...