Animation动画效果二(推荐)
Interpolator定义动画变化
AccelerateDecelerateInterpolator动画开始和结束的地方速率改变比较慢, 中间加速
AccelerateInterpolator动画开始的地方速率改变比较慢, 然后开始加速
CycleInterpolator动画循环播放特定的次数, 速率改变沿着正玄曲线
DecelerateInterpolator动画开始的地发光速率改变比较慢, 然后开始减速
LinearInterpolator在动画以均匀的速率改变
比如下面例子的xml声明部分android:interpolator="@android:anim/accelerate_interpolator", 如果后面再加上android:shareInterpolator="true", 则意味set中所有动画效果将同样使用AccelerateDecelerateInterpolator, 如果为false. 则需要在每个动画中定义这个Interpolator. 例如:
<alpha andorid:interpolator="@android:anim/accelerate_interpolator"/>
首先在/res/文件夹下面新建anim文件夹, 新建一个xml文件存放animation效果
例如/res/anim/alph.xml
例子:
/res/anim/alph.xml
/res/anim/rotate.xml
/res/anim/sacle.xml
/res/anim/translate.xml
main.xml
Animation2Activity.javapackage com.cn;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.widget.ImageView;public class Animation2Activity extends Activity { /** Called when the activity is first created. */ImageView iv = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); iv = (ImageView)findViewById(R.id.imageView1); } public void translate(View v){ Animation animation = AnimationUtils.loadAnimation(this, R.anim.translate); iv.startAnimation(animation); } public void alpha(View v){ Animation animation = AnimationUtils.loadAnimation(this, R.anim.alpha); iv.startAnimation(animation); } public void rotate(View v){ Animation animation = AnimationUtils.loadAnimation(this, R.anim.rotate); iv.startAnimation(animation); } public void scale(View v){ Animation animation = AnimationUtils.loadAnimation(this, R.anim.sacle); iv.startAnimation(animation); }}