Java 如何将背景随机化?

Java 如何将背景随机化?,java,android,Java,Android,我必须制作一个应用程序,就是当你点击某个地方,改变他的背景。我该怎么做?我可以用可绘图文件夹来做吗?例如,我制作了10个不同的图像,并将其复制到drawable文件夹中。当我点击某个地方时,我能将10张不同的图片随机排列吗? 编辑 我没有尝试任何东西,因为我不知道从哪里开始根据示例请求进行更新 final RelativeLayout rootLayout = (RelativeLayout)findViewById(R.id.myRootLayout); final Rand

我必须制作一个应用程序,就是当你点击某个地方,改变他的背景。我该怎么做?我可以用可绘图文件夹来做吗?例如,我制作了10个不同的图像,并将其复制到drawable文件夹中。当我点击某个地方时,我能将10张不同的图片随机排列吗? 编辑
我没有尝试任何东西,因为我不知道从哪里开始

根据示例请求进行更新

     final RelativeLayout rootLayout = (RelativeLayout)findViewById(R.id.myRootLayout);
    final Random random = new Random(3); //generates 0 to 2 (as you set seed of 3 digits starting from 0)

    final List<Integer> myBackgroundImages = new ArrayList<Integer>();
    myBackgroundImages.add(R.drawable.add_person);
    myBackgroundImages.add(R.drawable.add_photo_album);
    myBackgroundImages.add(R.drawable.add_key_box);


    rootLayout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            rootLayout.setBackground(myBackgroundImages.get(random.nextInt()); //will be 0, 1, or 2
        }
    });
final RelativeLayout rootLayout=(RelativeLayout)findViewById(R.id.myRootLayout);
最终随机数=新随机数(3)//生成0到2(设置从0开始的3位数种子)
最终列表myBackgroundImages=new ArrayList();
myBackgroundImages.add(R.drawable.add\u person);
myBackgroundImages.add(R.drawable.add\u photo\u相册);
myBackgroundImages.add(R.drawable.add_key_box);
rootLayout.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
rootLayout.setBackground(myBackgroundImages.get(random.nextInt());//将为0、1或2
}
});
我在onCreate中做了所有这些只是为了向您展示一个示例,但是您不需要对值进行最终处理,除非您使用上述相同的方法进行处理。我建议将列表作为类中的变量以及布局,并将click listener设置为其他位置,但这应该足以演示它是如何为您工作的。

旧答案留给历史

当然,有很多方法可以做到这一点。如果使用数据绑定,可以通过绑定实现,只要在XML文件中绑定一个可绘制属性即可


如果您不使用绑定,那么只需在背景根元素上添加一个ID,如
,这是对问题的描述,但不是您尝试过的。您也不需要每隔一个单词加粗。您能更准确地解释我吗?我在可绘制的5个图像中(ID:蓝色、黄色、绿色、黑色和红色),分辨率为1080x1920。当我点击屏幕上的任意位置时,我希望应用程序随机更改他的背景。这里我将更新我的答案,你可能只是想得太多了