9.2TranslateAnimation类:位置变化动画类
TranslateAnimation类是Android系统中的位置变化动画类,用于控制View对象的位置变化,该类继承于Animation类。TranslateAnimation类中的很多方法都与Animation类一致,该类中最常用的方法便是TranslateAnimation构造方法。
【基本语法】public TranslateAnimation (float fromXDelta, float toXDelta,float fromYDelta, float toYDelta)
参数说明
fromXDelta:位置变化的起始点X坐标。
toXDelta:位置变化的结束点X坐标。
fromYDelta:位置变化的起始点Y坐标。
toYDelta:位置变化的结束点Y坐标。
【实例演示】下面通过代码来演示如何设置一个简单的位置变化动画效果。
- publicclassfirstActivityextendsActivity{
- @Override
- publicvoidonCreate(BundlesavedInstanceState){//重载onCreate方法
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- finalImageViewimage=(ImageView)findViewById(R.id.imageView1);//ImageView对象
- Buttonbtn1=(Button)findViewById(R.id.button1);//按钮对象
- Buttonbtn2=(Button)findViewById(R.id.button2);
- finalAnimationtranslateAnimation=newTranslateAnimation(0,300,0,300);//位置变化动画效果
- btn1.setOnClickListener(newView.OnClickListener(){//设置监听器
- @Override
- publicvoidonClick(Viewv){
- //TODOAuto-generatedmethodstub
- translateAnimation.setDuration(3000);//设置动画持续时间
- translateAnimation.setRepeatCount(2);//设置重复次数
- translateAnimation.setRepeatMode(Animation.REVERSE);//反方向执行
- image.setAnimation(translateAnimation);//设置动画效果
- translateAnimation.startNow();//启动动画
- }
- });
- btn2.setOnClickListener(newView.OnClickListener(){//设置监听器
- @Override
- publicvoidonClick(Viewv){
- //TODOAuto-generatedmethodstub
- translateAnimation.cancel();//取消动画执行
- }
- });
- }
- }
图9.7 位置变化动画 |
import android.app.Activity;
public class TestActivity extends Activity {public void onCreate(Bundle savedInstanceState) { //重载onCreate方法 super.onCreate(savedInstanceState); setContentView(R.layout.main); final ImageViewimage=(ImageView)findViewById(R.id.Image); //ImageView对象 Buttonbtn1=(Button)findViewById(R.id.button1); //按钮对象 Buttonbtn2=(Button)findViewById(R.id.button2); final AnimationtranslateAnimation=new TranslateAnimation(0,200,0,200); //移动动画效果 btn1.setOnClickListener(new View.OnClickListener() { //设置监听器 public void onClick(View v) { // TODOAuto-generated method stub translateAnimation.setDuration(3000); //设置动画持续时间 translateAnimation.setFillAfter (true); //保留在终止位置 translateAnimation.setFillEnabled(true); //使能填充效果 image.setAnimation(translateAnimation); //设置动画效果 translateAnimation.startNow(); //启动动画 } }); btn2.setOnClickListener(new View.OnClickListener() { //设置监听器 public void onClick(View v) { // TODOAuto-generated method stub translateAnimation.cancel(); //取消动画执行 } });} }