【功能说明】该方法用于获取动画的帧个数,也就是按照顺序播放了几张图片。该方法常常用于获取帧动画对象特性的场合。

【基本语法】public int getNumberOfFrames ()

【实例演示】下面通过代码来演示如何获取帧动画播放帧的个数。

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

int num;

ad.start();                                     //开始动画

num=ad.getNumberOfFrames();                     //获取帧数

Toast.makeText(getApplicationContext(), "当前动画需要播放"+num+"帧",

Toast.LENGTH_LONG).show();                      //显示

}

});

btn2.setOnClickListener(new View.OnClickListener() {            //设置监听器

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

ad.stop();                                      //停止动画

}

});

}

}

在这段代码中,首先声明了帧动画对象。然后,在第一个按钮监听器中直接调用start方法来开始动画执行,通过 getNumberOfFrames方法获取帧数并显示。在第二个按钮监听器中直接调用stop方法来停止动画执行。这样,读者执行这段代码,当点击"执 行动画"按钮时,将看到动画播放,并显示动画的帧数,如图9.21所示。 6db65a6b3ec0d7ce30043615d3004d03.png

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐