RotateAnimation类是Android系统中的旋转变化动画类,用于控制View对象的旋转动作,该类继承于Animation类。RotateAnimation类中的很多方法
都与Animation类一致,该类中最常用的方法便是RotateAnimation构造方法。
【基本语法】public RotateAnimation (float fromDegrees, float toDegrees, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)
参数说明
fromDegrees:旋转的开始角度。
toDegrees:旋转的结束角度。
pivotXType:X轴的伸缩模式,可以取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。
pivotXValue:X坐标的伸缩值。
pivotYType:Y轴的伸缩模式,可以取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。
pivotYValue:Y坐标的伸缩值。
public class firstActivity extends Activity { /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) { // 重载onCreate方法
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final ImageView image = (ImageView) findViewById(R.id.imageView1); // ImageView对象
Button btn1 = (Button) findViewById(R.id.button1); // 按钮对象
Button btn2 = (Button) findViewById(R.id.button2);
final Animation rotateAnimation = new RotateAnimation(0f, 360f,
Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,
0.5f);
// 设置旋转变化动画对象
btn1.setOnClickListener(new View.OnClickListener() { // 设置监听器
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
rotateAnimation.setDuration(3000); // 持续时间
image.setAnimation(rotateAnimation); // 设置动画
rotateAnimation.startNow(); // 启动动画
}
});
btn2.setOnClickListener(new View.OnClickListener() { // 设置监听器
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
rotateAnimation.cancel(); // 取消动画执行
}
});
}
}