本节学习目标

掌握内置组件animation的使用

我们在开发应用的时候,常常需要增加一些动画效果,来提高用户体验,经常用到的一些动画效果如下

  • 平移
  • 旋转
  • 缩放
  • 背景颜色改变
  • 组件透明图

weex 提供了一animition模块,通过这个模块的一个api可以实现上述的动画效果

API:transition(el, options, callback)
参数说明

1.el 执行动画组件的引用(ref="el"),通过this.$refs.el获取组件的引用
2.options 是一个对象,通常由四部分组成,

styles 设置不同样式过渡效果的键值对,值也是一个对象
duration:动画持续时间
delay:动画延时执行时间
timingFunction:过渡效果
3.callback动画执行完的回调

下面是一个使用例子

animation.transition(el,{
styles:{
transform: 'translate(250px, 100px)',
transformOrigin: 'center center'
},duration: 800, //ms
timingFunction: 'ease',
delay: 0 //ms
},res=>{})

下面讲解一下四个键值对的使用

  • styles

它可以设置的键为

描述 默认值
width 动画执行后应用到组件上的宽度值 int(如100)不使用单位
height 动画执行后应用到组件上的高度值 int(如100)不使用单位
backgroundColor 动画执行后应用到组件上的背景颜色 string none
opacity 动画执行后应用到组件上的不透明度值 介于 0 到 1 间的数值 1
transformOrigin 定义变化过程的中心点. 参数 x-aris 可能的值为 left、center、right、长度值或百分比值, 参数 y-axis 可能的值为 top、center、bottom、长度值或百分比值 x-axis y-axis center center
transform 定义应用在元素上的变换类型,支持下表列出的属性 object

注意

transformOrigin 这个值会影响动画的效果 如果你设置值为 “left top” 那么当旋转的时候,就不会是沿着中心点旋转,而是沿着左上角旋转

下面我们重点说一下transform 的使用

名称 描述 值类型 默认值
translate/translateX/translateY 指定元素移动的偏移量 像素值或百分比
rotate 指定元素将被旋转的角度,单位是度(deg) number
scale/scaleX/scaleY 按比例放大或缩小元素 number

下面是一些使用案例

transform:"translate(100,200)"// 沿x轴移动100px,y移动200px

transform:'translate(50%, 100)' // 沿x轴移动自身宽度的50%,沿y轴移动100px

transform: 'rotate(180deg)' // 注意一定要加上单位deg
  • duration
    动画持续时间,单位是毫秒ms 单位可以不用写

     duration: 800//800ms
  • timingFunction
    过渡效果有五种,最常用的是前四种

  • linear 匀速的过渡

  • ease-in 由慢到快的加速过渡

  • ease-out 由块到慢的减速过渡

  • ease-in-out 先加速后减速的过渡效果

  • cubic-bezier(x1, y1, x2, y2),三次贝塞尔函数中定义变化过程 取值范围0-1


先说步骤

  • Step1. <script>里引入的内置模块(animation)
const animation = weex.requireModule('animation')
  • Step2.获取组件的引用
  var el = this.$refs.test;

     如何给组件设置引用

<text class="rectangle" ref="test">字</text> 
  • Step3.执行动画
animation.transition(el,{
styles:{
transform: 'rotate(3.14)',
transformOrigin: 'center center'
},duration: 800, //ms
timingFunction: 'ease',
delay: 0 //ms
},res=>{})

本节的内容到这里就讲完了,请动手实战一下吧!

weex animation模块 使用指南的更多相关文章

  1. Weex入门与进阶指南

    Weex入门与进阶指南 标签: WeexiOSNative 2016-07-08 18:22 59586人阅读 评论(8) 收藏 举报 本文章已收录于:  iOS知识库  分类: iOS(87)  职 ...

  2. 基于Asterisk的VoIP开发指南——Asterisk 模块编写指南(1)

    原文:基于Asterisk的VoIP开发指南--Asterisk 模块编写指南(1) 1 开源项目概述 Asterisk是一个开源的软件包,通常运行在Linux操作系统平台上.Asterisk可以用三 ...

  3. 基于Neptune开发板的键盘蓝牙模块DIY指南

    目录: 1.下载开发板程序2.安装USB串口(CH340)驱动3.安装烧写工具4.烧写开发板程序 本期我们带来基于润和Neptune开发板(以下简称Neptune开发板)的键盘蓝牙模块DIY指南,利用 ...

  4. jQuery1.9.1源码分析--Animation模块

    var fxNow, // 使用一个ID来执行动画setInterval timerId, rfxtypes = /^(?:toggle|show|hide)$/, // eg: +=30.5px / ...

  5. yii2 modules模块配置指南

    在Yii2 中模块是可以无限级嵌套的,也就是说,模块可以包含另一个包含模块的模块,我们称前者为父模块,后者为子模块, 子模块必须在父模块的yiibaseModule::modules属性中申明,例如: ...

  6. Apache模块开发指南-APR池

    转:原文: http://blog.csdn.net/zmxiangde_88/article/details/8038150 ------------------------------------ ...

  7. 可能是最详细的UMD模块入门指南

    学习UMD 介绍 这个仓库记录了一些关于javascript UMD模块规范的demo,对我学习UMD规范有了很大帮助,希望也能帮助到你. 回顾 之前也写了几篇关于javascript模块的博客,链接 ...

  8. [SheetJS] js-xlsx模块学习指南

    简介 SheetJS是前端操作Excel以及类似的二维表的最佳选择之一,而js-xlsx是它的社区版本. js-xlsx将注意力集中到了数据转换和导出上,所以它支持相当多种类的数据解析和导出.不仅仅局 ...

  9. animation模块的使用

    1.动画的实现-初探 import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import FuncA ...

随机推荐

  1. Hive数据提取

    Hive是基于Hadoop的ETL工具和数据仓库. 结构化数据 结构化数据就像RDBMS hive> create table structured_table(id int, name str ...

  2. nginx环境准备

    一.环境调试确认 1.四项确认 确认公网已连通. 确认yum源可用. 确认iptables已经关闭. 确认selinux已经关闭. a.确认是否连通公网. ping www.baidu.com b.确 ...

  3. mysql之备份与恢复

    数据备份全备 备份命令 :mysqldump把数据库的数据以sql语句导出属于逻辑备份 格式 : mysqldump -uroot -p123456 -S 多实例的mysql.sock 数据库名 &g ...

  4. mongodb将mysql数据导入

    1.首先将数据从mysql数据库导出为xls文件 SELECT * FROM user INTO OUTFILE "F:\1.xls" 2.notepad++打开,用utf8编码保 ...

  5. SQLite 版本引发的 Python 程序调用问题

    问题 在跑 OpenStack functional 功能测试的时候有两个用例过不去. nova.tests.functional.db.test_resource_provider.Resource ...

  6. vue-router懒加载

    require.ensure(dependencies:String [],callback:function(require),errorCallback:function(error),chunk ...

  7. 重启sshd服务

    查看状态: systemctl status sshd.service 启动服务: systemctl start sshd.service 重启服务: systemctl restart sshd. ...

  8. Docker-Compose运行Nginx+Redis+NetCoreAPI

    Docker-Compose运行Nginx+Redis+NetCoreAPI 一.准备Docker-Compose Docker 开始安装Docker-compose之前你需要先确认已经安装了Dock ...

  9. caoz的梦呓:创业公司如何做好信息安全

    猫宁!!! 参考链接:https://mp.weixin.qq.com/s/gCWjzHBRfbPFhNeg2VtFhA https://mp.weixin.qq.com/s/bmifCmD2CHV1 ...

  10. @autowired、@Qualifier、@Primary注解

    @autowired 可以自动帮你把Bean里面引用的对象的setter/getter方法省略,自动帮你set/get. 启动spring IoC时,容器自动装载了一个AutowiredAnnotat ...