React-Native中Animate动画使用方法汇总整理(六)之缩放的实现

写作时间:2021/9/24
React-Native版本:0.63.2
目标平台:iOS(安卓平台尚未检测)

整理的进度已经过半了,这种工作确实是非常的枯燥,坚持做完吧

本篇是RN动画组件使用方式整理的第6篇,重点对缩放的实现进行整理介绍,上一篇简单对sequence和parallel进行了梳理,实际上通过parallel也实现了缩放效果,原理是同时改变视图的宽高,但是本篇采用了另外一种方式来实现类似的效果,先看最终的展示

和上一篇动态改变宽高有所不同,该案例当中的缩放是通过控制transform中的scale属性来实现的

完整代码如下

//App.js
'use strict';import React from 'react';
import AnimatedTest from './demos/demo_2/AnimatedTest';export default class App extends React.Component {render() {return (<AnimatedTest />);}
}
//AnimatedTest.js
'use strict';import React from 'react';
import { SafeAreaView } from 'react-native';
import Ani_6 from './Ani_6';export default class AnimatedTest extends React.Component {render() {return (<SafeAreaView><Ani_6 /></SafeAreaView>);}
}
//Ani_6.js
'use strict';import React from 'react';
import {StyleSheet, SafeAreaView, Button, Animated} from 'react-native';export default class Ani_6 extends React.Component {constructor() {super();this.state = {scale_1: new Animated.Value(0),scale_2: new Animated.Value(0),};}render() {return (<SafeAreaView><Button title={'Start'} onPress={this.startAni} /><Animated.View style={[{transform: [{scale: this.state.scale_1}]}, styles.Ani]} /><Animated.View style={[{transform: [{scale: this.state.scale_2}]}, styles.Ani]} /></SafeAreaView>);}startAni = () => {Animated.timing(this.state.scale_1, {toValue: 1,duration: 5000,useNativeDriver: true,}).start();Animated.spring(this.state.scale_2, {toValue: 1,friction: 2,useNativeDriver: true,}).start();};
}const styles = StyleSheet.create({Ani: {width: 300,height: 300,backgroundColor: 'cyan',},
});

需要注意的是,虽然动画动态改变了scale的数值,但是视图的宽高始终没有改变,或者说视图的占位始终是存在的,不会因为它的scale变化导致视图大小发生改变,这一点和上篇中动态改变宽高的动画效果是不同的

下篇会对动画的循环播放实现方法进行整理

React-Native中Animate动画使用方法汇总整理(六)之缩放的实现相关推荐

  1. React-Native中Animate动画使用方法汇总整理(四)之timing利用easing实现动画的灵活变换

    React-Native中Animate动画使用方法汇总整理(四)之timing利用easing实现动画的灵活变换 写作时间:2021/9/23 React-Native版本:0.63.2 目标平台: ...

  2. React-Native中Animate动画使用方法汇总整理(一)之简单动画的实现

    React-Native中Animate动画使用方法汇总整理(一)之简单动画的实现 写作时间:2021/9/23 React-Native版本:0.63.2 目标平台:iOS(安卓平台尚未检测) RN ...

  3. 在 React Native 中实现 3D 动画

    本文的范围将涵盖对 Three.js 库和 Animated API 的探索. 您应该具备 JavaScript 和 React Native 的基本知识才能继续学习: 要了解更多关于可以在 Reac ...

  4. 如何在React Native中创建精美的动画加载器

    by Vikrant Negi 通过Vikrant Negi 如何在React Native中创建精美的动画加载器 (How to create a beautifully animated load ...

  5. 使用React Native进行气泡动画

    by Narendra N Shetty 由纳伦德拉·N·谢蒂(Narendra N Shetty) 使用React Native进行气泡动画 (Bubble animation with React ...

  6. 如何在React Native中使用react-navigation 5处理导航

    React-navigation is the navigation library that comes to my mind when we talk about navigation in Re ...

  7. android 倒计时封装,react native中的聊天气泡及timer封装成的发送验证码倒计时

    其实,今天我想把我近期遇到的坑都总结一下: 1.goBack的跨页面跳转,又两种方法,一可以像兔哥那样修改navigation源码,二可以用navigationActions 2.父子组件的传值,一可 ...

  8. 理解 React Native 中的 AJAX 请求

    曾经,大多数 Web 应用程序通过用户操作刷新整个网页以与 Web 服务器通信. 后来,AJAX(异步 JavaScript 和 XML)概念通过提供一种在后台与 Web 服务器通信的方式使 Web ...

  9. 我在React Native中构建时获得的经验教训

    by Amanda Bullington 通过阿曼达·布林顿(Amanda Bullington) 我在React Native中构建时获得的经验教训 (Lessons I learned while ...

最新文章

  1. layui遍历json数组_Python列表边遍历边删除,怎么用才不报越界错误呢?
  2. 分页功能 (包含增删改查)工具类
  3. iOS使用shell脚本批量修改属性
  4. 对spring cloud config的一点理解
  5. asp.net三层架构应用详解【收录】
  6. 关于Angular使用http发送请求后的响应处理
  7. Linux 命令之 unxz -- 解压缩文件
  8. 计算机在岗位上的应用,计算机岗位应用论文.doc
  9. oracle 数据库bak文件怎么打开,Oracle数据库的参数文件备份与恢复
  10. 苹果罕见人事大调整:多个项目被迫暂停 员工“惊慌失措”
  11. Matlab 之GUIDE界面设计:不同函数之间使用相同变量
  12. iview admin 使用爬坑
  13. markdown使用文档(Typora 快捷键)
  14. 访问php页面显示源码解决方法
  15. DCDC电源中同步与异步的区别
  16. 通过iis发布网站、并添加ssl证书
  17. phpadmin安装到mysql中,mysql 和phpadmin安装
  18. 触发器-- 肖敏_入门系列_数据库进阶 60、触发器(三) --youku
  19. 【Earth Engine】基于GEE对季节性地物进行分类(多源数据叠图+监督分类)
  20. javax和java的区别

热门文章

  1. java如何写一个简单的定时任务?
  2. 量子计算Quantum Fourier Transform (QFT)算法
  3. 华为智慧金融峰会, HMS Core金融解决方案助力数智金融新生态
  4. 『天涯杂谈』 崖叔整容借鉴(给崖叔交作业啦)——对比人人 开心 猫扑 豆瓣 西祠 宽带山
  5. 特殊时间,将页面整体调整成灰色
  6. MySQL性能分析 一
  7. python “~“ 的含义
  8. 在 drawable 资源中使用属性引用的兼容问题
  9. Excel中数据转换成甘特图(wps)
  10. golang桌面gui库fyne使用