Frage

Derzeit zeigt mein Code ein einzelnes Bild von einem Dateipfad (in SDCard) an. Das ist in onCreate() Methode für den Moment:

 ImageView imgView01 = (ImageView) findViewById(R.id.imageView1);  
 File dir = new File("/sdcard/WallpapersHD/");
 File file[]=dir.listFiles();
 for (int i=0;i<file.length;i++) {
      Drawable d = (Drawable) Drawable.createFromPath(file[i].toString());
      imgView01.setImageDrawable(d);
      }

Ich möchte alle Bilder in diesem bestimmten Ordner nacheinander mit einer Zeitverzögerung von 5 Sekunden anzeigen. Wenn ich für jedes Bild im Ordner ein neues Zeichnung erstellen kann, wie mache ich das? Und wie ändere ich das Bild in ImageView Um den Pfad dieses Zeichnungen einzustellen?

War es hilfreich?

Lösung

Sie könnten eine verwenden ImagesSwitcher Aus Gründen der Bequemlichkeit, und dann:

    imageSwitcher.postDelayed(
            new Runnable() {
                @Override
                public void run() {
                    i++;
                    imageSwitcher.setImageURI(Uri.fromFile(file[i]));
                    imageSwitcher.postDelayed(this, millisBetweenImages);
                }
            },
            millisBetweenImages);

Es verfügt auch über ein setImagedrawable-Methode, wenn Sie Ihre Bilder als Drawables halten möchten.

Andere Tipps

Erstellen Sie für jedes Bild ein Drawable und ändern Sie dann das Bild in Ihrem ImageView, möglicherweise in einem Handler oder Timertask.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top