android studio 更改多个图像的背景图像

标签 android image

我在 drawable 文件夹中有 5 张图片(bg1、bg2、bg3、bg4、bg5),bg1 是我的默认背景。

我想更改背景图像,以便我点击按钮时,当它到达最终图像时,它应该再次转到第一张图像,

例如,如果我点击按钮,它应该将 bg2 设置为背景,如果我再次点击它,它应该将 bg3 设置为背景,等等,

我试过下面的代码,但它只改变了一次背景图片。

    button.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            int x = 0;

            while(x < 5){

             x ++;
                // Give image name that you want to show on button click
                layout.setBackgroundResource(R.drawable.bg+x);

            }

        }
    });

最佳答案

您必须将x 设置为全局变量。您在函数中设置了 x,因此它始终为 0

int x = 0; //global variable in activity/fragment

...

button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
              x ++;
              x %= 5;
              if (x==0) layout.setBackgroundResource(R.drawable.bg1);
              else if (x==1) layout.setBackgroundResource(R.drawable.bg2);
              else if (x==2) layout.setBackgroundResource(R.drawable.bg3);
              else if (x==3) layout.setBackgroundResource(R.drawable.bg4);
              else layout.setBackgroundResource(R.drawable.bg5);
            }

        }
    });

关于android studio 更改多个图像的背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62439617/

相关文章:

python - 使用 PIL 在保持透明度的同时对图像进行着色?

html - 当 png 大小不同时,如何最好地调整图像大小?

android - 检测单击动态壁纸选择器中的 "Set wallpaper"按钮

android - AlarmManager.setRepeating 是幂等的吗?

image - CarrierWave的混合文件类型

java - 段落之间的图像使用 iText

javascript - 拖放期间从外部远程图像读取 URL 数据

java - 没有 UI 的后台进程 - android

android - Android 库模块中的 Google Analytics Tracker 文件

java - HttpGet 是否自动处理 cookie?