我如何用一个按钮更改我的 imageView src,但是随机的一些图像?
How would I change my imageView src with one button but, a few images at random?
我想制作一个简单的应用程序(在 Android 工作室中),它可以通过一个按钮更改图像,并且每个按钮按下不同的图像会随机出现在它上面。我只知道如何使用此代码仅用一个按钮更改一张照片
thatImage.setImageResource(R.drawable.myimage);
但我不知道如何在用户按下按钮和随机按钮时准备好多个图像来替换它。因此,如果有人可以帮助我解决这个问题,我将不胜感激并感谢您的支持:)
您创建一个图像数组,然后使用随机数获取其中一个:
int[] myImageList = new int[]{R.drawable.image1, R.drawable.image2...};
Random random = new Random();
Integer rand = random.nextInt(myImageList.length - 1) + 0;
thatImage.setImageResource(myImageList[rand]);
Strings.xml
<array name="myImages">
<item>@drawable/a</item>
<item>@drawable/b</item>
<item>@drawable/c</item>
<item>@drawable/d</item>
<item>@drawable/e</item>
</array>
主要activity
public class MainActivity 扩展 AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn=(Button)findViewById(R.id.btn);
final RelativeLayout background = (RelativeLayout) findViewById(R.id.back);
Resources res = getResources();
final TypedArray myImages = res.obtainTypedArray(R.array.myImages);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final Random random = new Random();
int randomInt = random.nextInt(myImages.length());
int drawableID = myImages.getResourceId(randomInt, -1);
background.setBackgroundResource(drawableID);
}
});
}
我想制作一个简单的应用程序(在 Android 工作室中),它可以通过一个按钮更改图像,并且每个按钮按下不同的图像会随机出现在它上面。我只知道如何使用此代码仅用一个按钮更改一张照片
thatImage.setImageResource(R.drawable.myimage);
但我不知道如何在用户按下按钮和随机按钮时准备好多个图像来替换它。因此,如果有人可以帮助我解决这个问题,我将不胜感激并感谢您的支持:)
您创建一个图像数组,然后使用随机数获取其中一个:
int[] myImageList = new int[]{R.drawable.image1, R.drawable.image2...};
Random random = new Random();
Integer rand = random.nextInt(myImageList.length - 1) + 0;
thatImage.setImageResource(myImageList[rand]);
Strings.xml
<array name="myImages">
<item>@drawable/a</item>
<item>@drawable/b</item>
<item>@drawable/c</item>
<item>@drawable/d</item>
<item>@drawable/e</item>
</array>
主要activity
public class MainActivity 扩展 AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn=(Button)findViewById(R.id.btn);
final RelativeLayout background = (RelativeLayout) findViewById(R.id.back);
Resources res = getResources();
final TypedArray myImages = res.obtainTypedArray(R.array.myImages);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final Random random = new Random();
int randomInt = random.nextInt(myImages.length());
int drawableID = myImages.getResourceId(randomInt, -1);
background.setBackgroundResource(drawableID);
}
});
}