RotateAnimation类是Android系统中的旋转变化动画类,用于控制View对象的旋转动做,该类继承于Animation类。 RotateAnimation类中的不少方法都与Animation类一致,该类中最经常使用的方法即是RotateAnimation构造方法。ide
【基本语法】public RotateAnimation (float fromDegrees, float toDegrees, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)动画
参数说明code
fromDegrees:旋转的开始角度。对象
toDegrees:旋转的结束角度。继承
pivotXType:X轴的伸缩模式,能够取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。图片
pivotXValue:X坐标的伸缩值。get
pivotYType:Y轴的伸缩模式,能够取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。it
pivotYValue:Y坐标的伸缩值。io
【实例演示】下面经过代码来演示如何设置一个简单的旋转变化动画效果。class
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(); //取消动画执行 } }); } }
在这段代码中,首先经过RotateAnimation构造方法建立了一个旋转变化的动画对象。而后,在第一个按钮监听器中设置了动画的持续时间,以后启动该动画。在第二个按钮监听器中取消该动画。读者运行这段代码,将看到图片沿如图9.8所示的方向进行旋转。