A013-animator资源
上一节课介绍了关于anim资源的知识点,这节课来给大家介绍animator资源,它跟anim资源同样是res下在资源,它是另外一种动画资源,上节课讲的是View Animation,是Android3.0之前使用较多的动画方式,然而Android 3.0推出之后,也带给我们一种新的动画实现方式——Property Animation(属性动画),它们有什么不一样的地方?
不同点:
- View Animation技术较老,只能作用于View
- Property Animation技术相对较新,可以作用于任何对象,并且能真正改变对象的属性
- 前者不具备良好的扩展性,后者具备较好的扩展性
如何使用?
文件路径:res/animator/filename.xml 资源指向ValueAnimator、ObjectAnimator或者AnimatorSet。 资源引用:
- 在Java中:R.animator.filename
- 在XML中:@animator/filename
语法
<set
android:ordering=["together" | "sequentially"]>
<objectAnimator
android:propertyName="string"
android:duration="int"
android:valueFrom="float | int | color"
android:valueTo="float | int | color"
android:startOffset="int"
android:repeatCount="int"
android:repeatMode=["repeat" | "reverse"] android:valueType=["intType" | "floatType"]/>
<animator
android:duration="int"
android:valueFrom="float | int | color"
android:valueTo="float | int | color"
android:startOffset="int"
android:repeatCount="int"
android:repeatMode=["repeat" | "reverse"] android:valueType=["intType" | "floatType"]/>
<set>
... </set></set>
文件必须包含上面其中一种根标签<set> <objectAnimator> <animator>
,其中<set>
可以包含其他两个标签。
元素解析
<set>
android:ordering 指定动画的播放顺序在set当中 | value | description | | : — : | : — : | | sequentially| 在这组动画动画中顺序播放| |together(默认)| 在这组动画中一起播放|
<objectAnimator>
android:propertyName 属性名 | value | description | | : — : | : — : | |alpha|透明度 | |scaleX|在X轴方向上缩放| |scaleY|在Y轴方向上缩放| |rotation|旋转| |translationX|在X轴方向上偏移| |translationY|在Y轴方向上偏移| 注:属性动画不仅仅局限于移动、缩放、旋转和淡入淡出视觉上的改变,上面只是视觉上的一些属性,它可以是任何对象的任意属性。
android:valueTo 动画开始时的属性值
android:valueFrom 动画结束时的属性值
android:duration 动画的持续时间
android:startOffset 动画的延迟播放时间
android:repeatCount 动画重复播放次数 取值为-1表示无限循环,1表示循环一次
android:repeatMode “repeat”表示重复播放,”reverse”表示动画逆转播放
android:valueType 如果是值是颜色,就不需要指定这个属性 | value | description | | : — : | : — : | |intType|指定动画属性值为integers| |floatType(默认)|指定动画属性值为floats|
举例
<set android:ordering="sequentially">
<set>
<objectAnimator
android:propertyName="x"
android:duration="500"
android:valueTo="400"
android:valueType="intType"/>
<objectAnimator
android:propertyName="y"
android:duration="500"
android:valueTo="300"
android:valueType="intType"/>
</set>
<objectAnimator
android:propertyName="alpha"
android:duration="500"
android:valueTo="1f"/></set>
如果想运行这个动画,你必须在你的代码中inflate这个xml资源变成一个AnimationSet对象,然后在播放这个动画之前设置所有动画的目标对象。Java代码如下:
AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(myContext,
R.anim.property_animator);
set.setTarget(myObject);
set.start();
总结
本节课介绍了Android中的属性动画资源的使用,关于属性动画还有很多内容,会在之后讲到属性动画的时候再继续讨论,学完本节课相信大家对animator资源有了一定的认识,资源的时候方式都是类似,更多的API使用需要大家多看一下官方的文档。
- cf(#div1 B. Dreamoon and Sets)(数论)
- hdu 1805Expressions(二叉树构造的后缀表达式)
- 清空messages没有权限的解决方法
- hdu1710(Binary Tree Traversals)(二叉树遍历)
- 基本线程同步(一) 同步方法
- uva514(trail)(模拟栈)
- zoj3822 Domination(概率dp)
- Veeam Backup & Replication(三):创建备份与还原备份
- 使用Go开发一个简单的服务器程序
- C++ 与设计模式学习(其一)
- xz文件压缩工具的用法
- Java 中正确使用 hashCode 和 equals 方法
- C/C++ 关于生成静态库(lib)/动态库(dll)文件如何使用(基于windows基础篇)
- openwrt将LAN口改为WAN方法
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 05 . ELK Stack简介原理及部署应用
- java编程思想第四版第三章要点习题
- GoAccess分析Web日志
- java编程思想第四版第三章要点总结
- 05 . Prometheus监控Nginx
- java编程思想第四版第五章总结
- 01 . 容器编排简介及Kubernetes核心概念
- java编程思想第四版第五章习题
- 02 . Kubeadm部署Kubernetes及简单应用
- java编程思想第四版第六章习题
- Docker部署Python项目
- 03 . 二进制部署kubernetes1.18.4
- 01 . 美团全链路监控CAT简介及部署
- 02 . Ansible高级用法(运维开发篇)
- java编程思想第四版第七章总结