【功能說明】該方法用於爲幀動畫對象添加動畫幀。該方法主要用於動態修改幀動畫內容的場合,能夠根據須要增長一些動畫幀。ide
【基本語法】public void addFrame (Drawable frame, int duration)動畫
參數說明code
frame:動畫幀的Drawable對象。對象
duration:動畫幀的持續時間,單位爲毫秒。get
【實例演示】下面經過代碼來演示如何實現一個簡單的幀動畫。it
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.addFrame(getResources().getDrawable(R.drawable.p0), 100); //添加幀 ad.addFrame(getResources().getDrawable(R.drawable.p1), 100); //添加幀 ad.addFrame(getResources().getDrawable(R.drawable.p2), 100); //添加幀 ad.addFrame(getResources().getDrawable(R.drawable.p3), 100); //添加幀 ad.addFrame(getResources().getDrawable(R.drawable.p4), 100); //添加幀 ad.start(); //開始動畫 } }); btn2.setOnClickListener(new View.OnClickListener() { //設置監聽器 @Override public void onClick(View v) { // TODO Auto-generated method stub ad.stop(); //中止動畫 } }); } }
在這段代碼中,首先聲明瞭幀動畫對象。而後,在第一個按鈕監聽器中使用addFrame方法添加了動畫幀,以後直接調用start方法來開 始動畫執行,在第二個按鈕監聽器中直接調用stop方法來中止動畫執行。這樣,讀者執行這段代碼,當點擊"執行動畫"按鈕時,將看到動畫效果執行了兩遍。 這是由於咱們增長的動畫幀與原有的動畫幀相同,至關於播放了兩次。io