目前我有這個:front_card_display.setBackgroundResource(R.drawable.large_card_0);Android:如何在應用程序中設置按鈕的按鈕圖像
但是,我希望large_card_「0」是靈活的,這意味着我希望它基於變量或需要時進行更改。它可能是1,2,3 ..等這樣做的最好方法是什麼。我也嘗試創建一個r.string,但它似乎不起作用。提前致謝。
問候,
瑞安
目前我有這個:front_card_display.setBackgroundResource(R.drawable.large_card_0);Android:如何在應用程序中設置按鈕的按鈕圖像
但是,我希望large_card_「0」是靈活的,這意味着我希望它基於變量或需要時進行更改。它可能是1,2,3 ..等這樣做的最好方法是什麼。我也嘗試創建一個r.string,但它似乎不起作用。提前致謝。
問候,
瑞安
我相信你想則getIdentifier()。 Link
這是我知道的唯一方法,它運作得很好。
編輯:實例
for (int i = 1; i <= 118; i++) {
int id = getResources().getIdentifier("element" + i, "id", this.getPackageName());
Button preview = (Button) findViewById(id);
//...
}
下面是一些代碼。在我的情況下,我有118個按鈕,名爲element1,element2,element3等。你可以看到我如何使用「我」作爲變量遍歷它們全部
您將需要設置一個switch語句來設置drawableId。
private int getDrawableId(int yourVariableToSwitchOn) {
int drawableId;
switch(yourVariableToSwitchOn) {
case CASE_0:
drawableId = R.drawable.large_card_0;
break;
case CASE_1:
drawableId = R.drawable.large_card_1;
break;
case CASE_2:
drawableId = R.drawable.large_card_2;
break;
case CASE_3:
drawableId = R.drawable.large_card_3;
break;
}
return drawableId;
}
然後簡單地設置你的背景front_card_display.setBackgroundResource(getDrawableId(someVariableToControlResource));
複製所有的繪製像MDPI,華電國際繪製文件夾的圖像,xhdpi取決於分辨率,T會很容易。 – jagdish