Android动态壁纸改变了drawable的随机图片

时间:2015-03-17 12:28:29

标签: android image random drawable

有人可以提供这样的代码,或者至少知道如何制作这样的壁纸。 我想我必须使用Vieflipper,但我不能使用Random。我对吗?谢谢。

1 个答案:

答案 0 :(得分:0)

您的问题看起来有点不明确。在任何情况下,简单来说,假设您有一个想要以随机方式动态更改的ImageView。结构看起来应该是这样的:

imv = (ImageView)findViewById(R.id.imageView1);
Resources rsrc= getResources();
imid = R.drawable.yourimagename;
Drawable drawable= rsrc.getDrawable(imid);
Bitmap bm = BitmapFactory.decodeResource(rsrc,drawable);
imv.setImageBitmap(bm);

在这个例子中,imid是硬编码的,但你可以很容易地改变它。例如,创建一个包含所需图像ID的整数数组列表,然后在循环中或在满足条件时(例如每30秒)访问它们。

例如:

ArrayList<Integer> listofimagesids = new ArrayList<Integer>;
listofimagesids.add(R.drawable.yourimagename1)
listofimagesids.add(R.drawable.yourimagename2)
...
listofimagesids.add(R.drawable.yourimagenameN)

Random rand = new Random();

if (youcondition){
  int n = rand.nextInt(listofimagesids.size());
  Drawable drawable= rsrc.getDrawable(n);
  Bitmap bm = BitmapFactory.decodeResource(rsrc,drawable);
  imv.setImageBitmap(bm);
}

当然这只是伪代码,但它可能会引导你一点。希望它有所帮助。