0

現在、私のコードはファイルパス(SDカード内)からの単一の画像を表示します。これは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秒の時間遅延を使用して次々に表示したいと思います。フォルダ内の画像ごとに新しいドローアブルを作成できる場合、どうすればよいですか?ImageViewそして、そのドローアブルのパスを設定するために画像を変更するにはどうすればよいですか?

4

2 に答える 2

0

画像ごとにドローアブルを作成してから、ImageView(おそらくHandlerまたはTimerTask)で画像を変更し続けます。

于 2011-11-29T08:43:00.263 に答える
0

便宜上ImageSwitcherを使用して、次のことを行うことができます。

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

画像をDrawableとして保持する場合は、setImageDrawableメソッドもあります。

于 2011-11-29T09:24:09.140 に答える