【功能说明】该方法用于设置帧动画的播放方式,能够是单次播放,也能够是循环播放。在系统默认状况下采用的是单次播放的方式。该方法主要用于循环播放的场合。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