如何随机选择可绘制资源(图片)并将其设置为按钮的背景?

时间:2017-11-14 04:23:19

标签: java android

我是Android和StackOverflow的新手。在学习如何正确发布的同时,我接受所有类型的建议。我的母语不是英语,所以如果我写得不好,请耐心等待。

我正在制作游戏,我要做的就是在游戏的特定时刻设置bakcground;应该从可绘制资源中选择6个ramdom图片,将其设置为UI中的12个按钮(6个ramdom图片中的每一个都应设置为两个不同的按钮)。

我不知道要做的是如何设置图像以及如何知道它们设置在哪个按钮上。诚实,我不知道如何开始。

由于

2 个答案:

答案 0 :(得分:0)

以下是如何将随机图像设置为一个登录按钮

Integer images[]={
                R.drawable.animlogo,
                R.drawable.ablogin,
                R.drawable.normalbtnbackground
        };

        Random r=new Random();
        loginbtn.setBackgroundColor(images[r.nextInt(3)]);

希望这对你有用。

答案 1 :(得分:0)

List<Integer> drawables = Arrays.asList(R.drawable.pic1, R.drawable.pic2, 
      R.drawable.pic3, R.drawable.pic4, R.drawable.pic5, R.drawable.pic6);

List<Integer> buttons = Arrays.asList(R.id.btn1, R.id.btn2, R.id.btn3, 
    R.id.btn4, R.id.btn5, R.id.bt6, R.id.btn7, R.id.btn8, R.id.btn9, 
    R.id.btn10, R.id.btn11, R.id.btn12);

private void setRandomBackground() {
    Collections.shuffle(drawables);
    Collections.shuffle(buttons);

    for (int i = 0, j = 0; i < drawables.size(); i++, j+=2) {
        findViewById(buttons.get(j))
                .setBackgroundResource(drawables.get(i));
        findViewById(buttons.get(j+1))
                .setBackgroundResource(drawables.get(i));
    }

}