2012-04-13 3 views
12

Ich bin in einer Situation, in der ich die Animation aus der dynamischen Liste der Bilder anzeigen möchte. Ich möchte AnimationDrawable für diesen Zweck verwenden, aber leider ich stecken bin ... :(mein Code alsAnimationDrawable programmgesteuert ohne Animation-Liste Xml

ImageView globe = (ImageView) findViewById(R.id.globe); 

AnimationDrawable animation = new AnimationDrawable(); 
animation.setOneShot(true); 

Resources res = this.getResources(); 

while (from <= to) { 
    String name = "globe_" + String.format("%03d", from); 
    int globeId = res.getIdentifier(name, "drawable", 
      this.getPackageName()); 
    animation.addFrame(res.getDrawable(globeId), 200); 
    from++; 
} 

globe.setBackgroundDrawable(animation); 
globe.post(new Runnable(){ 
     @Override 
     public void run() { 
      animation.start(); 
     } 
}); 

Antwort

5

ich habe gerade animation.start() nac r die Schleife und rief die Funktion von einem runnable und es funktionierte

while (from <= to) { 
    String name = "globe_" + String.format("%03d", from); 
    int globeId = res.getIdentifier(name, "drawable", 
      this.getPackageName()); 

    animation.addFrame(res.getDrawable(globeId), 200); 
    from++; 
} 

globe.setBackgroundDrawable(animation); 

animation.start() 
5

So Animation.addFrame (Drawable Rahmen, int Dauer) nimmt eine ziehbar, die Sie von einem erstellen Bitmap

Wenn die Liste der Bilder, die dynamisch geladen werden:..

List<Bitmap> images; 
int duration = 200;  

for(Bitmap image: images){ 
    BitmapDrawable frame = new BitmapDrawable(image); 
    animation.addFrame(frame, duration); 
} 

Probieren Sie dies aus, sollte auf jeden Fall funktionieren

+0

Vielen Dank für Ihre Antwort, aber ich bin Hinzufügen bereits die ziehbar durch animation.addFrame (res.getDrawable (globeId), 200); und ich habe es auch versucht, aber kein Glück :( – makki

+0

Entschuldigung, schau dir das an und sag mir wie es geht: http://androidforums.com/application-development/11620-programmatic-frame-frame -animation-example-animationdrawable.html –