如何将Android中主要活动的背景图像更改为随机jpeg,然后单击按钮?

问题描述:

当我按下按钮时,我的代码当前会随机更改颜色。它从一系列颜色中随机挑选一种颜色。我想创建一个图像数组并随机将背景设置为图像。如何将Android中主要活动的背景图像更改为随机jpeg,然后单击按钮?

facts.java:

public class facts { 

String f[]={"this is number one","This is number two","This is number three","Last one"}; 
String c[]={"#C6FF00","#1DE9B6","#3949AB","#C2185B","#F44336","#FF1744","#880E4F","#311B92","#651FFF","#2196F3","#006064","#43A047","#00C853","#CDDC39","#33691E","#C6FF00","#FFA000","#BF360C","#FF5722","#FF6D00","#455A64","#212121"}; 
int k=0; 



public String nextfact() 
{ 
    k=new Random().nextInt(f.length); 
    String randomStr = f[k]; 
    return randomStr; 
} 

public String nextcolor() 
{ 
    String randomc= c[new Random().nextInt(c.length)]; 
    return randomc; 
} 
} 

MainActivity.java

public class MainActivity extends AppCompatActivity { 
facts fac=new facts(); 
TextView factBox; 
RelativeLayout abc; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    factBox=(TextView)findViewById(R.id.factTextbox); 
    abc=(RelativeLayout)findViewById(R.id.lala); 
} 
public void genfact(View view) 
{ 
    int index=0; 
    factBox.setText(fac.nextfact()); 
    abc.setBackgroundColor(Color.parseColor(fac.nextcolor())); 

} 
} 
+0

你意味着可绘制数组(像png文件)或ImageView数组?并请发布xml布局文件(s) – 0X0nosugar

创建图像的数组,然后用随机数,让他们中的一个:

int[] backgrounds= new int[]{R.drawable.image1, R.drawable.image2...}; 

Random random = new Random(); 

Integer rand = random.nextInt(backgrounds.length()); 

abc.setBackground(backgrounds[rand]);