在我的ImageView中一个接一个地显示多个图像

时间:2011-11-29 08:35:05

标签: android android-imageview android-file

目前我的代码显示文件路径中的单个图像(在SDCard中)。现在这是onCreate()方法:

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

我希望使用比较5秒的时间延迟一个接一个地显示该特定文件夹中的所有图像。如果我可以为文件夹中的每个图像创建一个新的drawable,我该怎么做?如何更改ImageView中的图像以设置该drawable的路径?

2 个答案:

答案 0 :(得分:0)

为每个图像创建一个drawable,然后继续在ImageView中更改图像,可能是在Handler或TimerTask中。

答案 1 :(得分:0)

为方便起见,您可以使用ImageSwitcher,然后执行:

    imageSwitcher.postDelayed(
            new Runnable() {
                @Override
                public void run() {
                    i++;
                    imageSwitcher.setImageURI(Uri.fromFile(file[i]));
                    imageSwitcher.postDelayed(this, millisBetweenImages);
                }
            },
            millisBetweenImages);
如果你想把你的图像保存为Drawables,它还有一个setImageDrawable方法。