1.准备ImageView控件
//动画的具
private ImageView mViewPan;
private ImageView mViewPanBar;
mViewPan=(ImageView) findViewById(R.id.id_pan);
mViewPanBar=(ImageView) findViewById(R.id.id_gan);
2.初始化动画工具类
//唱片相关动画,在前面加一个m表示全局变量
//Animation是与动画相关的类
//LinearInterpolator 与动画播放速度有关的类
private Animation mPanAnim;
private LinearInterpolator mPanLin;
3.准备动画播放路径文件res>anim>rotate.xml(文件名自己定)这里以旋转为例子
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<!--
fromDegrees起点角度
toDegress终点角度
repeatCount
duration动画持续的时间
pivotX与Y表示基准点
-->
<rotate
android:duration="2400"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="3"
android:toDegrees="359"
/>
</set>
4.动画初始化
/**
* 动画初始化
* 1.使用AnimationUtils.loadAnimation(this, R.anim.rotate);第一个参数是Activity 第二个参数是动画的id,这个id就是在anim文件夹下创建的动画xml文件
* 2.使用new LinearInterpolator();创建
* 3.把两者关联起来
* 4.设置动画监听器,在动画开始、结束、重复播放的时候进行相应的动作
* 5.setFillAfter可以让动画停留在最后状态
private void initAnim()
{
mPanAnim=AnimationUtils.loadAnimation(this, R.anim.rotate);
mPanLin=new LinearInterpolator();
mPanAnim.setInterpolator(mPanLin);
mPanAnim.setAnimationListener(new AnimationListener() {
//@Override可以检查重写的函数是否正确
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
mViewPanBar.startAnimation(mBarOutAnim);
}
});
5.开始动画
```
mViewPanBar.startAnimation(mBarInAnim);
“`