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

一、两个互补的动画系统

  • 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. C++const使用(06)

    可以在类中使用const关键字定义数据成员和成员函数或修饰一个对象.一个const对象只能访问const成员函数,否则将产生编译错误. 常量成员 常量成员包括常量数据成员.静态常数据成员和常引用.静态 ...

  2. [Bayesian] “我是bayesian我怕谁”系列 - Exact Inferences

    要整理这部分内容,一开始我是拒绝的.欣赏贝叶斯的人本就不多,这部分过后恐怕就要成为“从入门到放弃”系列. 但,这部分是基础,不管是Professor Daphne Koller,还是统计学习经典,都有 ...

  3. 如何在Windows上搭建Android开发环境

    Android开发越来越火,许多小伙伴们纷纷学习Android开发,学习Android开发首要任务是搭建Android开发环境,由于大家 主要实在Windows 上开发Android,下面就详细给大家 ...

  4. iOS之ViewController的多层presentViewController的dismiss问题

    今天在Q群里有人问了个这么个问题: A,B,C,D 都是Viewcontroller.A.B.C.D使用present去切的 他是这么搞的: A -> B, B ->C, C->D, ...

  5. 【初学者必读】能让你月薪过万的5大web前端核心技能

    前言Web前端开发所涉及的内容主要包括W3C标准中的结构.行为和表现,那么这三项中我们需要掌握的核心技能是什么呢?看小编来为你揭开谜底的. 1.开发语言 HTML发展历史有二十多年,历经多次版本更新, ...

  6. Oracle 表空间扩充

    Oracle 表空间扩充 一.现场环境: (1)操作系统:AIX (2)数据库:Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - ...

  7. 定制rpm包---Yum环境搭建

    1.1 在yum服务器上创建yum仓库命令 mkdir -p /application/nginx/html/yum cd /application/nginx/html/yum rz #上传rpm包 ...

  8. IdentityServer4 实现 OAuth 2.0(密码模式 - HTTP Post 方式)

    之前写了一篇文章:<IdentityServer4 实现 OpenID Connect 和 OAuth 2.0> 上面这篇文章虽然详细,但都是点到为止的介绍,并没有实际应用的示例,所以,后 ...

  9. 0_Simple__matrixMul + 0_Simple__matrixMul_nvrtc

    矩阵乘法,使用一维线程块和共享内存.并且在静态代码和运行时编译两种条件下使用. ▶ 源代码:静态使用 #include <stdio.h> #include <assert.h> ...

  10. ML神器:sklearn的快速使用

    传统的机器学习任务从开始到建模的一般流程是:获取数据 -> 数据预处理 -> 训练建模 -> 模型评估 -> 预测,分类.本文我们将依据传统机器学习的流程,看看在每一步流程中都 ...