我正在制作一对配对游戏,其中有8个图像视图,包含4个不同的图像。我想知道什么时候页面加载是否有交换图像视图的位置?
这样每个图像的顺序每次都会改变吗?
答案 0 :(得分:1)
试试这个:
private final int imageArray[] = {
R.drawable.image1, R.drawable.image2, R.drawable.image3,
R.drawable.image4, R.drawable.image5, R.drawable.image6
};
<强>随机强>
static void shuffleArray(int[] arr)
{
Random rnd = new Random();
for (int i = arr.length - 1; i > 0; i--)
{
int index = rnd.nextInt(i + 1);
// Swap
int a = arr[index];
arr[index] = arr[i];
arr[i] = a;
}
}
调用shuffle方法并将图像数组作为参数传递:
shuffleArray(imageArray)
答案 1 :(得分:0)
不是改变需要大量重新渲染的图像视图的布局,而是使用算法随机选择图像并按顺序设置图像视图的图像将更为理想。通过这种方式,您仍然可以对对子进行随机排序,而无需在布局本身周围进行随机播放。请注意,您还需要重新分配图像视图的任何适当属性,例如您可能正在使用的特定图像的标记。