search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

[Android]物件移動動畫(Animation、TranslateAnimation、AnimationUtils)

如果需要做個圖片移動的動畫,利用Animation就可以達到許多效果

以單就純移動來說,可以利用TranslateAnimation來控制物件移動的路線

Java:

import android.app.Activity;
import android.os.Bundle;
import android.view.animation.Animation;
import android.view.animation.TranslateAnimation;
import android.widget.ImageView;

public class Am_testActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        ImageView img = (ImageView) findViewById( R.id.img);
        
        //動畫路徑設定(x1,x2,y1,y2)
        Animation am = new TranslateAnimation(10,200,10,500);
        
        //動畫開始到結束的時間,2秒
        am.setDuration( 2000 );
        
        // 動畫重覆次數 (-1表示一直重覆,0表示不重覆執行,所以只會執行一次)
        am.setRepeatCount( 0 );
        
        //將動畫寫入ImageView
        img.setAnimation(am);
        //開始動畫
        am.startNow();
        
    }
}

那如果動畫複雜一點的呢?

可以寫一個專門設定動畫的xml檔,再利用AnimationUtils將動畫設定檔讀入

Java:

import android.app.Activity;
import android.os.Bundle;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;

public class Am_testActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        ImageView img = (ImageView) findViewById( R.id.img);
        
        //讀入動畫設定
        Animation am = AnimationUtils.loadAnimation(this, R.layout.anim);
        
        //將動畫寫入ImageView
        img.setAnimation(am);
        
        //開始動畫
        am.startNow();
    }
}

動畫設定檔anim.xml:



	
   	
   	
   	

Categories: Android



熱門推薦

本文由 blogjohnsonluorg 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦