使随机图像出现在另一图像后面

时间:2016-01-02 05:08:43

标签: android

所以,我正在制作游戏,但我几乎是Android Studio的初学者。我试图搜索这个,但没找到我真正想要的东西。

所以,我研究了如何在拍摄时使图像消失,并且没有真正找到该怎么做,因此这是我想要发生的第一件事。

所以,一旦完成,我想在它后面出现另一个图像,但图像应该从一组5个图像中随机选择。

就是这样,我为没有尝试任何代码或任何事情而道歉,就像我说我还是初学者一样。请尽快帮帮我

提前致谢。

3 个答案:

答案 0 :(得分:1)

首先拍摄一个drawable图像数组 例如

int[] imgArray = {
    R.drawable.img1,
    R.drawable.img2,
    R.drawable.img3,
    R.drawable.img4,
    R.drawable.img5
}

//random number between 1 to 5, in your case max=5, min =1
int randomNum = rand.nextInt((max - min) + 1) + min;

yourImageView.setBackgroundResource(imgArray[randomNum])

如果您只想更改上一张图片,则不必先删除第一张图片。只需在该ImageView中设置新图像,然后自动覆盖它。

但是,您可以通过设置以下属性

来使ImageView可见,不可见或消失
yourImageView.setVisibility(View.INVISIBLE);
yourImageView.setVisibility(View.GONE);

答案 1 :(得分:0)

假设您的5张图片位于可绘制文件夹中,

  1. int img_arr[] = {R.id.img1, R.id.img2, ...};

  2. 使用以下方法将图像设置为imageview:

    imageview.setOnClickListener(new OnClickListener() {
       public void onClick(View v)
        {
            int a = random.nextInt(5); 
            //fade-in animation code
            imageview.setImageResource(0);
            //fade-out animation code
            imageview.setImageResource(img_array[a]);
    
        }
    
  3. 对于动画,请参阅此链接:Link

答案 2 :(得分:0)

首先拍摄像Kunu的答案中的可绘制图像数组,例如

int[] imgArray = {
    R.drawable.img1,
    R.drawable.img2,
    R.drawable.img3,
    R.drawable.img4,
    R.drawable.img5
}

关于你的第一个问题,

1.点击时如何使图像消失

考虑ImageView img1

内有RelativeLayout名为rl的{​​{1}}

我们将<{1}}设置为

onClickListener

2.在其后面出现另一张图片

在传递RelativeLayout时调用此函数,如

img.setOnClickListener(new View.OnClickListener(View v)
{
v.setVisibility(View.INVISIBLE)
});

randomBg函数:

randomBg(rl);

总结一下,在像这样的

这样的活动中使用上面的代码
public void randomBg(RelativeLayout rl)
    {
    //random number between 1 to array limit
   /* int randomNum = rand.nextInt((minRange - maxRange) + 1) + minRange;
      Can be simplified as below*/

    int randomNum =rand.nextInt((0-imgArray.length)+1)+0;    
    rl.setBackgroundResource(imgArray[randomNum])
    }