在我的 ImageView 中依次显示多张图像

发布于 2024-12-18 15:41:27 字数 506 浏览 2 评论 0原文

目前,我的代码显示文件路径(在 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 秒的时间延迟逐个显示该特定文件夹中的所有图像。如果我可以为文件夹中的每个图像创建一个新的可绘制对象,我该怎么做?如何更改 ImageView 中的图像以设置该可绘制对象的路径?

Currently my code displays a single image from a file path (in SDCard). This is in onCreate() method for now:

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

I want to display all the images in that particular folder one after the other using a time delay of say 5 seconds. If I can create a new drawable for each image in the folder, How do I do it? and how do I change the image in ImageView to set that drawable's path?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

哭了丶谁疼 2024-12-25 15:41:27

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

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

它还有如果您想将图像保留为可绘制对象,请使用 setImageDrawable 方法。

You could use an ImageSwitcher for convenience, and then do:

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

it also has a setImageDrawable-method if you want to keep your images as Drawables.

岁月打碎记忆 2024-12-25 15:41:27

为每个图像创建一个可绘制对象,然后在 ImageView 中(可能在 Handler 或 TimerTask 中)不断更改图像。

Create a drawable for each image, and then keep changing the image in your ImageView, perhaps in a Handler or TimerTask.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文