9.2TranslateAnimation類:位置變化動畫類
TranslateAnimation類是Android系統(tǒng)中的位置變化動畫類,用于控制View對象的位置變化,該類繼承于Animation類。TranslateAnimation類中的很多方法都與Animation類一致,該類中最常用的方法便是TranslateAnimation構(gòu)造方法。
【基本語法】public TranslateAnimation (float fromXDelta, float toXDelta,float fromYDelta, float toYDelta)
參數(shù)說明
fromXDelta:位置變化的起始點X坐標(biāo)。
toXDelta:位置變化的結(jié)束點X坐標(biāo)。
fromYDelta:位置變化的起始點Y坐標(biāo)。
toYDelta:位置變化的結(jié)束點Y坐標(biāo)。
【實例演示】下面通過代碼來演示如何設(shè)置一個簡單的位置變化動畫效果。
- 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(){//設(shè)置監(jiān)聽器
- @Override
- publicvoidonClick(Viewv){
- //TODOAuto-generatedmethodstub
- translateAnimation.setDuration(3000);//設(shè)置動畫持續(xù)時間
- translateAnimation.setRepeatCount(2);//設(shè)置重復(fù)次數(shù)
- translateAnimation.setRepeatMode(Animation.REVERSE);//反方向執(zhí)行
- image.setAnimation(translateAnimation);//設(shè)置動畫效果
- translateAnimation.startNow();//啟動動畫
- }
- });
- btn2.setOnClickListener(newView.OnClickListener(){//設(shè)置監(jiān)聽器
- @Override
- publicvoidonClick(Viewv){
- //TODOAuto-generatedmethodstub
- translateAnimation.cancel();//取消動畫執(zhí)行
- }
- });
- }
- }
| 圖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() { //設(shè)置監(jiān)聽器 public void onClick(View v) { // TODOAuto-generated method stub translateAnimation.setDuration(3000); //設(shè)置動畫持續(xù)時間 translateAnimation.setFillAfter (true); //保留在終止位置 translateAnimation.setFillEnabled(true); //使能填充效果 image.setAnimation(translateAnimation); //設(shè)置動畫效果 translateAnimation.startNow(); //啟動動畫 } }); btn2.setOnClickListener(new View.OnClickListener() { //設(shè)置監(jiān)聽器 public void onClick(View v) { // TODOAuto-generated method stub translateAnimation.cancel(); //取消動畫執(zhí)行 } });} }
愛華網(wǎng)


