所以,我正在制作游戏,但我几乎是Android Studio的初学者。我试图搜索这个,但没找到我真正想要的东西。
所以,我研究了如何在拍摄时使图像消失,并且没有真正找到该怎么做,因此这是我想要发生的第一件事。
所以,一旦完成,我想在它后面出现另一个图像,但图像应该从一组5个图像中随机选择。
就是这样,我为没有尝试任何代码或任何事情而道歉,就像我说我还是初学者一样。请尽快帮帮我
提前致谢。
答案 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张图片位于可绘制文件夹中,
int img_arr[] = {R.id.img1, R.id.img2, ...};
使用以下方法将图像设置为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]);
}
对于动画,请参阅此链接:Link
答案 2 :(得分:0)
首先拍摄像Kunu的答案中的可绘制图像数组,例如
int[] imgArray = {
R.drawable.img1,
R.drawable.img2,
R.drawable.img3,
R.drawable.img4,
R.drawable.img5
}
关于你的第一个问题,
考虑ImageView
img1
RelativeLayout
名为rl
的{{1}}
我们将<{1}}设置为
onClickListener
在传递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])
}