TranslateAnimation类是Android系统中的位置变化动画类,用于控制View对象的位置变化,该类继承于Animation 类。TranslateAnimation类中的不少方法都与Animation类一致,该类中最经常使用的方法即是TranslateAnimation构 造方法。ide
【基本语法】public TranslateAnimation (float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)动画
参数说明spa
fromXDelta:位置变化的起始点X坐标。code
toXDelta:位置变化的结束点X坐标。对象
fromYDelta:位置变化的起始点Y坐标。继承
toYDelta:位置变化的结束点Y坐标。图片
【实例演示】下面经过代码来演示如何设置一个简单的位置变化动画效果。ci
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 translateAnimation=new TranslateAnimation(0,300,0,300); //位置变化动画效果 btn1.setOnClickListener(new View.OnClickListener() { //设置监听器 @Override public void onClick(View v) { // TODO Auto-generated method stub translateAnimation.setDuration(3000); //设置动画持续时间 translateAnimation.setRepeatCount(2); //设置重复次数 translateAnimation.setRepeatMode(Animation.REVERSE); //反方向执行 image.setAnimation(translateAnimation); //设置动画效果 translateAnimation.startNow(); //启动动画 } }); btn2.setOnClickListener(new View.OnClickListener() { //设置监听器 @Override public void onClick(View v) { // TODO Auto-generated method stub translateAnimation.cancel(); //取消动画执行 } }); } }
在这段代码中,首先经过TranslateAnimation构造方法建立了一个位置变化的动画对象。而后,在第一个按钮监听器中设置了动 画的持续时间、重复次数和重复模式等,而后启动该动画。在第二个按钮监听器中取消该动画。读者运行这段代码,将看到图片沿如图9.7所示的路径往返运动。get
![]() |