6

AnimationDrawable 不适用于 2.3.6 android 版本。

是否有旧版本的支持库?

我的代码是:

iv = (ImageView) findViewById(R.id.splashnew);
BitmapDrawable f0 = (BitmapDrawable)getResources().getDrawable(R.drawable.s1); 
BitmapDrawable f1 = (BitmapDrawable)getResources().getDrawable(R.drawable.s2); 
BitmapDrawable f2 = (BitmapDrawable)getResources().getDrawable(R.drawable.s3);
int dur = 850; 
AnimationDrawable ad = new AnimationDrawable();
ad.addFrame(f0, dur); 
ad.addFrame(f1, dur); 
ad.addFrame(f2, dur);
ad.start();
ad.setOneShot(true);
4

2 回答 2

19

我得到了答案:

您应该在可运行文件中启动动画。

    iv.post(new Runnable(){
        public void run(){
             ad.start();
             ad.setOneShot(true); // use this if you want to run the animation only once
        }
    });
于 2013-02-04T12:55:23.680 回答
0

试试这个

iv = (ImageView) findViewById(R.id.splashnew);
BitmapDrawable f0 = (BitmapDrawable)getResources().getDrawable(R.drawable.s1); 
BitmapDrawable f1 = (BitmapDrawable)getResources().getDrawable(R.drawable.s2); 
BitmapDrawable f2 = (BitmapDrawable)getResources().getDrawable(R.drawable.s3);
int dur = 850; 
AnimationDrawable ad = new AnimationDrawable();
ad.addFrame(f0, dur); 
ad.addFrame(f1, dur); 
ad.addFrame(f2, dur);
iv.setBackgroundDrawable(ad);
iv.post(new Runnable(){
    public void rub(){
         ad.start();
}
}
于 2014-01-30T10:56:00.277 回答