第一步:在res中创建一个anim目录
第二步:在anim目录中创建XML文件(rotate.xml),并设置属性。不要忘了设置xmlns:。。。。,属性为oneshot,设置动画是否是循环播放,默认值为true。
第三步:在主函数中创建animation对象,并用AnimationUtils.loadAnimation(this,R.anim.rotate);方法为animation对象添加动画效果。
第四步:在你所设定的图像视图中添加animation对象。
平移动画中的属性介绍:
android:interpolator//用于控制动画的变化速度,使得动画效果可以匀速、加速、减速或抛物线速度等各种速度变化。
android:fromDegrees//用于指定动画开始时旋转的角度 android:toDegrees//用于指定动画结束时旋转的角度
android:pivotX//用于指定轴心点x轴的坐标 (例如:50%)
android:pivotY//用于指定轴心点y轴的坐标 (例如:50%)
android:repeatMode//用于设置动画的重复方式,可选值为reverse(反向)或restart(重新开始)
android:repeatCount//用于设置动画的重复次数,属性可以是代表次数的数值,也可以是infinite(无限循环)
android:duration//用于指定动画的持续时间,单位为毫秒
具体操作:
1、在drawable添加1张图片,即需要循环播放的图片
lm1:
2、添加anim文件夹,在anim添加rotate.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true">
<rotate
android:fromDegrees="0"
android:toDegrees="360"
android:repeatMode="reverse"
android:repeatCount="infinite"
android:duration="2000"/>
</set>
3、布局文件activity_main
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<Button
android:id="@+id/translate"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="旋转"/>
<ImageView
android:id="@+id/im"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/lm1"
android:layout_below="@id/translate"/>
</RelativeLayout>
4、MainActivity.java
package com.example.bujian;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends Activity {
Button button;
ImageView imageview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=(Button) findViewById(R.id.translate);
imageview=(ImageView) findViewById(R.id.im);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Animation animation=AnimationUtils.loadAnimation(MainActivity.this, R.anim.rotate);//创建animation对象,
imageview.startAnimation(animation);//为控件添加动画效果
}
});
}
}