[Android動畫] 幀動畫-添加動畫幀( addFrame)四

【功能說明】該方法用於爲幀動畫對象添加動畫幀。該方法主要用於動態修改幀動畫內容的場合,能夠根據須要增長一些動畫幀。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

相關文章
相關標籤/搜索