Zeigen Sie Mulitple -Bilder nacheinander in meinem ImageView an
-
25-10-2019 - |
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?
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.