目前我有这个: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