TranslateAnimation类是Android系统中的位置变化动画类,用于控制View对象的位置变化,该类继承于Animation类。TranslateAnimation类中的很多方法都与Animation类一致,该类中最常用的方法便是TranslateAnimation构造方法。
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final ImageView image=(ImageView)findViewById(R.id.Image); //ImageView对象
Button btn1=(Button)findViewById(R.id.button1);
//按钮对象
Button btn2=(Button)findViewById(R.id.button2);
final Animation translateAnimation=new TranslateAnimation(0,200,0,200);
//移动动画效果
btn1.setOnClickListener(new View.OnClickListener() {
//设置监听器
public void onClick(View v) {
// TODO Auto-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) {
// TODO Auto-generated method stub
translateAnimation.cancel();
//取消动画执行
}
});
【基本语法】public TranslateAnimation (float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)
参数说明
fromXDelta:位置变化的起始点X坐标。
toXDelta:位置变化的结束点X坐标。
fromYDelta:位置变化的起始点Y坐标。
toYDelta:位置变化的结束点Y坐标。
【实例演示】下面通过代码来演示如何设置一个简单的位置变化动画效果。
- public
class firstActivity extends Activity { -
- @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(); //取消动画执行 -
} -
}); - }
- }
|
图9.7 |
package comdsfasdafsa.sdf;
import android.app.Activity;
public class TestActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
//重载onCreate方法
}
}