2014-09-22 57 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)。