2014-09-22 79 views
0

我有一個XML幀動畫,我希望它只是運行一次..但它一直運行無限。即使我用isOneShot()幀動畫運行無限

這是我的代碼

import android.app.Activity; 
import android.graphics.drawable.AnimationDrawable; 
import android.os.Bundle; 
import android.widget.ImageView; 
import de.vrallev.tutorial.dialer.R; 

public class testanim extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.animtest); 
     ImageView iv = (ImageView) findViewById(R.id.imageView1); 
     iv.setImageBitmap(null); 
     iv.setBackgroundResource(R.anim.animation); 

     final AnimationDrawable mailAnimation = (AnimationDrawable) iv 
       .getBackground(); 
     mailAnimation.isOneShot(); 
     mailAnimation.start(); 

回答

0

我猜你誤解了方法isOneShot()。此方法返回動畫是否僅播放一次。如果要將動畫設置爲只運行一次,則必須調用方法setOneShot (booleanValue)
因此,在你的情況下寫這樣的東西:mailAnimation.setOneShot(true)

請參閱此主題以及文檔(click)。