Android之补间动画Tween(set简单的一般够用)
2017-09-28 17:26
357 查看
set标签的使用
到这里可能有的同学会说动画太单调,其实学好Tween动画你能做出好多比较酷炫的动画,这就要用到set标签了从它的名字我们也能够猜出来它是干什么用的,它就是一组动画的集合,也就是说我们可以让一个View同时执行多个动画,set标签自已是没有属性的,他的属性都是从Animation继承而来,但当它们用于Set标签时,就会对Set标签下的所有子控件都产生作用。
它所拥有的属性我们上面也介绍到了
android:duration:动画执行的时间,以毫秒为单位
android:fillEnabled:true|false,true:动画结束时还原到开始动画前的状态,false?
android:fillBefore:与fillEnabled相同
android:fillAfter:true|false,true:动画结束时,将保持动画最后时的状态
android:repeatMode:reverse|restart,重复类型,reverse:表示倒序回访,restart:表示重新放一遍这个属性必须与repeatCount联合使用,因为牵扯到重复,即重复播放时的播放类型。
android:repeatCount:动画重复的次数,可以是你想循环播放的次数,也是可以是infinite:表示无限循环
android:interpolator:设定的插值器,它主要用来为动画设置一些特殊的效果,比方说:加速运动、减速运动、动画结束的时候弹起等等。
接着们就来看一个组合动画吧
xml文件
如果只简单地引用这些插值器还不能满足需要的话,我们要考虑一下个性化插值器。我们可以创建一个插值器资源修改插值器的属性,比如修改AnticipateInterpolator的加速速率,调整
CycleInterpolator的循环次数等。为了完成这种需求,我们需要创建XML资源文件,然后将其放于/res/anim下,然后再动画元素中引用即可。我们先来看一下几种常见的插值器可调整的属性:
无
android:factor 浮点值,加速速率,默认为1
android:tension 浮点值,起始点后退的张力、拉力数,默认为2
android:tension 同上 android:extraTension 浮点值,拉力的倍数,默认为1.5(2 * 1.5)
无
android:cycles 整数值,循环的个数,默认为1
android:factor 浮点值,减速的速率,默认为1
无
浮点值,超出终点后的张力、拉力,默认为2
接下来就来看几个不是特别好理解的插值器的运行效果,没有演示到的,大家可以自己动手运行看看效果
到这里可能有的同学会说动画太单调,其实学好Tween动画你能做出好多比较酷炫的动画,这就要用到set标签了从它的名字我们也能够猜出来它是干什么用的,它就是一组动画的集合,也就是说我们可以让一个View同时执行多个动画,set标签自已是没有属性的,他的属性都是从Animation继承而来,但当它们用于Set标签时,就会对Set标签下的所有子控件都产生作用。
它所拥有的属性我们上面也介绍到了
android:duration:动画执行的时间,以毫秒为单位
android:fillEnabled:true|false,true:动画结束时还原到开始动画前的状态,false?
android:fillBefore:与fillEnabled相同
android:fillAfter:true|false,true:动画结束时,将保持动画最后时的状态
android:repeatMode:reverse|restart,重复类型,reverse:表示倒序回访,restart:表示重新放一遍这个属性必须与repeatCount联合使用,因为牵扯到重复,即重复播放时的播放类型。
android:repeatCount:动画重复的次数,可以是你想循环播放的次数,也是可以是infinite:表示无限循环
android:interpolator:设定的插值器,它主要用来为动画设置一些特殊的效果,比方说:加速运动、减速运动、动画结束的时候弹起等等。
接着们就来看一个组合动画吧
xml文件
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" > <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="3000" /> <scale android:fromXScale="0.0" android:toXScale="1.0" android:fromYScale="0.0" android:toYScale="1.0" android:pivotX="50%" android:pivotY="50%" android:duration="3000"/> <rotate android:fromDegrees="0" android:toDegrees="720" android:pivotX="50%" android:pivotY="50%" android:duration= "3000" /> <translate android:startOffset="3000" android:fromXDelta="0" android:toXDelta="85" android:fromYDelta="0" android:toYDelta="0" android:duration="1000" /> <alpha android:startOffset="4000" android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="1000" /> </set>
package com.example.test; import android.app.Activity; import android.os.Bundle; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.ImageView; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView imageiew=(ImageView) findViewById(R.id.image); Animation animation=AnimationUtils.loadAnimation(MainActivity.this, R.anim.text); imageiew.startAnimation(animation); } }
如果只简单地引用这些插值器还不能满足需要的话,我们要考虑一下个性化插值器。我们可以创建一个插值器资源修改插值器的属性,比如修改AnticipateInterpolator的加速速率,调整
CycleInterpolator的循环次数等。为了完成这种需求,我们需要创建XML资源文件,然后将其放于/res/anim下,然后再动画元素中引用即可。我们先来看一下几种常见的插值器可调整的属性:
无
android:factor 浮点值,加速速率,默认为1
android:tension 浮点值,起始点后退的张力、拉力数,默认为2
android:tension 同上 android:extraTension 浮点值,拉力的倍数,默认为1.5(2 * 1.5)
无
android:cycles 整数值,循环的个数,默认为1
android:factor 浮点值,减速的速率,默认为1
无
浮点值,超出终点后的张力、拉力,默认为2
接下来就来看几个不是特别好理解的插值器的运行效果,没有演示到的,大家可以自己动手运行看看效果
相关文章推荐
- Android中的补间动画(tween)的简单使用
- Android基础-简单的动画实现 *补间动画 *透明度渐变 *旋转动画 *位移动画 *如果需要几个效果整合到一起,需要将所有效果全部放到set里
- Android基础-简单的动画实现 *补间动画 *透明度渐变 *旋转动画 *位移动画 *如果需要几个效果整合到一起,需要将所有效果全部放到set里
- Android 连续的补间动画(Animation/Tween)
- Android--Tween补间动画
- (转)Android动画效果之Tween Animation(补间动画)
- android补间动画例子--Tween
- Android补间动画(Tween Animation)的使用总结
- Android补间动画简单笔记
- Android动画之补间动画(Tween Animation)实例详解
- Android 动画--补间动画(Tween Animation)
- Android两大动画之Tween(补间动画)详解
- Android笔记 动画之tween(补间)动画demo
- Android开发之Tween(补间动画)完全解析(下)——代码实现
- Android 补间动画(Tween)之二,自定义补间动画
- 关于 android Tween动画 和 frame动画的简单学习
- Android——动画之补间动画(Tween动画)
- Android动画效果Animation之Tween实现简单动画
- [AndroidUI]对Tween动画的简单封装
- Android 学习之补间(Tween)动画