android之animation(二)animationset、interpolator

一:

animationset:

他是一个animation的一个子类,实际上是animation的一个集合。他将animation放到一个list集合中。需要对animation的基本设置可以通过animationset来设置。如果需要对一个控件进行多种动画设置,可以采用animationset。

代码:

	              //创建一个animationset
			AnimationSet animationset = new AnimationSet(true);
			//创建一个alphaanimation
			Animation alphaanimation = AnimationUtils.loadAnimation(
					Animation1Activity.this,R.anim.alpha);
			ScaleAnimation scaleanimation  = new ScaleAnimation(
					1f, 0f, 1f, 0f, Animation.RELATIVE_TO_SELF, Animation.RELATIVE_TO_SELF);
			//设置动画时间
			animationset.addAnimation(alphaanimation);
			animationset.addAnimation(scaleanimation);
			animationset.setDuration(2000);
			animationset.setStartOffset(2000);
			imageview.setAnimation(animationset);

代码说明:我们运用AnimationUtils加载一个xml中的alphaanimation,然后向上转系为Animation,然后再新建一个

scaleanimation,然后通过animationset将这两个动画添加到一起,然后绑定在一个控件上面。

可以通过只设置animationset来对动画共有属性进行配置。

****************************************************************************************************

二:

interpolator:动画变化的速率。

在animations框架当下定义了以下几种interpolator:

AccelerateDecelerateInterpolator  在动画开始与结束的地方速率改变比较慢,在中间的时候较快。
AccelerateInterpolator  在动画开始的时候改变较慢,然后开始加速。
CycleInterpolator  动画循环播放特定次数,速率改变沿着正弦曲线。
DecelerateInterpolator   在动画开始的时候叫慢,然后开始减速。
LinearInterpolator   动画以均匀速率改变。

这个是在xml中进行设置:

<?xml version="1.0" encoding="utf-8"?>
<set  xmlns:android="http://schemas.android.com/apk/res/android"
	android:interpolator="@android:anim/accelerate_interpolator"
	android:shareInterpolator="true">
	<alpha 
		android:fromAlpha="1"
		android:toAlpha="0"
		android:duration="1000"
	/>
	<rotate 
		android:fromDegrees="0"
		android:toDegrees="180"
		android:pivotX="100%"
		android:pivotY="100%"
		android:duration="1000"
	/>
</set>
 

代码解释:基本语法已经在上集讲过了,现在看上面的那个<set 标签,表示的就是animationset,指一系列的animation,下面可以加上多个animation。

android:interpolator这个就是设置动画改变速率,下面的那个android:shareInterpolator指下面的animation是否共享上面的动画改变速率,如果不共享,可以在下面的animation中单独设置。

猜你喜欢

转载自blog.csdn.net/hanllove001/article/details/84043249