根据值改变 ImageView 源

发布于 2024-12-10 11:59:54 字数 535 浏览 0 评论 0原文

我想通过使用不同的图像来显示类似于进度条的内容,例如,如果 progress = 0 则显示空草坪,如果 progress = 95 则显示几乎完整的房子

。 30 个名为 image1.jpg .... image30.jpg 的文件

是否可以通过使用字符串作为文件名来设置 ImageView 的 Drawable ?这样我就可以从进度中获取 1 到 30 之间的 int 并将其添加到我用来设置 Drawable 的字符串中。

我读过这个: Android:根据 edittext 选项显示图像的 Imageview 但我不想为每种情况编写代码,因为我想在项目的不同位置使用此函数。

我将非常感谢任何帮助,无论是关于如何使用可绘制对象的字符串和文件名,还是有其他方法来解决这个问题。

此致, 埃米尔

I would like to show something similar to a progressbar by using different images, for example an empty lawn if progress = 0 and a nearly complete house if progress = 95.

I have 30 files named image1.jpg .... image30.jpg

Would it be possible to set the Drawable of an ImageView by using a string for the file name? That way I could just get an int between 1 and 30 from the progress and add that to a string that I use to set the Drawable.

I have read this:
Android: Imageview showing an image according to edittext option
but I don't want to write code for every case as I would like to use this function at different places of a project.

I would be very grateful for any help, either on how I can use strings and filenames for the Drawable or if there is another way of solving this.

Best regards,
Emil

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

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

发布评论

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

评论(1

╄→承喏 2024-12-17 11:59:54
public void setImageSrc(int i){
    final ImageView iv = (ImageView) findViewById(R.id.naviView);
    iv.setImageResource(getResources().getIdentifier("image"+i, "drawable", "com.example"));
}

如果您知道资源名称,则可以检索 id,然后通过您之前确定的 id 设置图像

public void setImageSrc(int i){
    final ImageView iv = (ImageView) findViewById(R.id.naviView);
    iv.setImageResource(getResources().getIdentifier("image"+i, "drawable", "com.example"));
}

You can retrieve the id if you know the name of the resources and then set the image via the id you determined earlier

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