Question

Actuellement, mon code affiche une seule image à partir d'un chemin de fichier (en SDCard). Ceci est en méthode onCreate() pour l'instant:

 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);
      }

Je veux afficher toutes les images dans ce dossier particulier l'un après l'autre en utilisant un temps de retard disons 5 secondes. Si je peux créer une nouvelle zone de dessin pour chaque image dans le dossier, Comment puis-je faire? et comment puis-je changer l'image ImageView pour que le jeu de chemin drawable?

Était-ce utile?

La solution

Vous pouvez utiliser un ImageSwitcher pour plus de commodité, puis faire:

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

il a aussi une setImageDrawable méthode si vous voulez garder vos images dessinables.

Autres conseils

Créer un drawable pour chaque image, puis continuer à changer l'image dans votre ImageView, peut-être dans un gestionnaire ou TimerTask.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top