【功能說明】該方法用於設置幀動畫的播放方式,能夠是單次播放,也能夠是循環播放。在系統默認狀況下采用的是單次播放的方式。該方法主要用於循環播放的場合。ide
【基本語法】public void setOneShot (boolean oneShot)動畫
其中,參數oneShot表示了動畫是否執行一次,true表示僅執行一次,false表示無限次循環執行動畫效果。code
【實例演示】下面經過代碼來演示如何實現一個簡單的循環播放幀動畫。
對象
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 AnimationDrawable ad=(AnimationDrawable)image.getBackground(); //聲明幀動畫對象 btn1.setOnClickListener(new View.OnClickListener() { //設置監聽器 @Override public void onClick(View v) { // TODO Auto-generated method stub ad.setOneShot(false); //循環播放 ad.start(); //開始動畫 } }); btn2.setOnClickListener(new View.OnClickListener() { //設置監聽器 @Override public void onClick(View v) { // TODO Auto-generated method stub ad.stop(); //中止動畫 } }); } }
在這段代碼中,首先聲明瞭幀動畫對象。而後,在第一個按鈕監聽器中使用setOneShot方法設置循環播放,以後直接調用start方法 來開始動畫執行,在第二個按鈕監聽器中直接調用stop方法來中止動畫執行。這樣,讀者執行這段代碼,當點擊"執行動畫"按鈕時,將看到動畫循環播放的效 果。get