如何将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()));
}
}
答
创建图像的数组,然后用随机数,让他们中的一个:
int[] backgrounds= new int[]{R.drawable.image1, R.drawable.image2...};
Random random = new Random();
Integer rand = random.nextInt(backgrounds.length());
abc.setBackground(backgrounds[rand]);
你意味着可绘制数组(像png文件)或ImageView数组?并请发布xml布局文件(s) – 0X0nosugar