我想製作一個簡單的應用程序(在Android studio中),可以使用一個按鈕更改圖像,每個按鈕隨意按下不同的圖像。我只知道如何改變一張照片只有一個按鈕,這個代碼我怎樣才能用一個按鈕來改變我的imageView src,但隨機的幾張圖片呢?
thatImage.setImageResource(R.drawable.myimage);
但我不知道如何有準備取代它的多個圖像時,用戶按下按鈕和隨機。所以,如果有人可以幫助我這個我將不勝感激,謝謝大家的支持:)
我想製作一個簡單的應用程序(在Android studio中),可以使用一個按鈕更改圖像,每個按鈕隨意按下不同的圖像。我只知道如何改變一張照片只有一個按鈕,這個代碼我怎樣才能用一個按鈕來改變我的imageView src,但隨機的幾張圖片呢?
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>
爲主要活動
公共類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);
}
});
}
thx求助 – Joshua