weex animation模块 使用指南
本节学习目标
掌握内置组件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模块 使用指南的更多相关文章
- Weex入门与进阶指南
Weex入门与进阶指南 标签: WeexiOSNative 2016-07-08 18:22 59586人阅读 评论(8) 收藏 举报 本文章已收录于: iOS知识库 分类: iOS(87) 职 ...
- 基于Asterisk的VoIP开发指南——Asterisk 模块编写指南(1)
原文:基于Asterisk的VoIP开发指南--Asterisk 模块编写指南(1) 1 开源项目概述 Asterisk是一个开源的软件包,通常运行在Linux操作系统平台上.Asterisk可以用三 ...
- 基于Neptune开发板的键盘蓝牙模块DIY指南
目录: 1.下载开发板程序2.安装USB串口(CH340)驱动3.安装烧写工具4.烧写开发板程序 本期我们带来基于润和Neptune开发板(以下简称Neptune开发板)的键盘蓝牙模块DIY指南,利用 ...
- jQuery1.9.1源码分析--Animation模块
var fxNow, // 使用一个ID来执行动画setInterval timerId, rfxtypes = /^(?:toggle|show|hide)$/, // eg: +=30.5px / ...
- yii2 modules模块配置指南
在Yii2 中模块是可以无限级嵌套的,也就是说,模块可以包含另一个包含模块的模块,我们称前者为父模块,后者为子模块, 子模块必须在父模块的yiibaseModule::modules属性中申明,例如: ...
- Apache模块开发指南-APR池
转:原文: http://blog.csdn.net/zmxiangde_88/article/details/8038150 ------------------------------------ ...
- 可能是最详细的UMD模块入门指南
学习UMD 介绍 这个仓库记录了一些关于javascript UMD模块规范的demo,对我学习UMD规范有了很大帮助,希望也能帮助到你. 回顾 之前也写了几篇关于javascript模块的博客,链接 ...
- [SheetJS] js-xlsx模块学习指南
简介 SheetJS是前端操作Excel以及类似的二维表的最佳选择之一,而js-xlsx是它的社区版本. js-xlsx将注意力集中到了数据转换和导出上,所以它支持相当多种类的数据解析和导出.不仅仅局 ...
- animation模块的使用
1.动画的实现-初探 import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import FuncA ...
随机推荐
- Python 的with关键字
Python 的with关键字 看别人的代码时,with关键字经常会出现,博主决定梳理一下with以及python中上下文(context)的概念 1. 上下文管理器概念 Context Manage ...
- leetcode 207课程表
class Solution { public: bool canFinish(int numCourses, vector<vector<int>>& prerequ ...
- 什么叫DMZ区?DMZ区有什么作用?应该怎样构建DMZ
您的公司有一堆电脑,但可以归为两大类:客户机.服务器.所谓客户机就是主动发起连接请求的机器,所谓服务器就是被动响应提供某些服务的机器.服务器又可以分仅供企业内网使用和为外网提供服务两种. 所以,如果把 ...
- JndiObjectFactoryBean 配置数据源
转: JndiObjectFactoryBean 配置数据源 2017年08月29日 22:04:28 病毒先生 阅读数:7338 版权声明:本文为博主原创文章,未经博主允许不得转载. https ...
- mybatis-config.xml 和 mapper基本设置
mybatis-config.xml : <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ...
- fiddler过滤指定的请求
需要过滤的请求如图: 设置过滤: 正则表达式(REGEX:\.(js|css|google|favicon\?.*)+)
- VS2015服务器资源管理器连接Mysql数据库
下载安装文件mysql-for-visualstudio-1.2.3.msi 下载成功后执行安装,选择change-->选择Custom安装成功后,发现vs中没有效果. 注意这里再次执行安装文件 ...
- YAML基础知识及搭建一台简洁版guestbook
一,前言 前面我们已经搭建过简易版k8s集群了,在此基础上可以搭建一个简洁版guestbook ,以便来学习k8s创建pod的整个过程. 二,在此之前,我们还需要学习一下YAML基础知识 YAML 基 ...
- django中聚合aggregate和annotate GROUP BY的使用方法
接触django已经很长时间了,但是使用QuerySet查询集的方式一直比较低端,只会使用filter/Q函数/exclude等方式来查询,数据量比较小的时候还可以,但是如果数据量很大,而且查询比较复 ...
- Linux进程信号
信号 名称 描述 1 HUP 挂起 2 INT 中断 3 QUIT 结束运行 9 KILL 无条件终止 11 SEGV 段错误 15 TERM 尽可能终止 17 STOP 无条件停止运行,但不终止 1 ...