1

可以执行以下操作:

if (colorScheme == 1)
    button.setBackgroundResource(R.drawable.button + "_1")

为了使用 R.drawable.button_1 作为配色方案 1 中此按钮的资源,如果 drawable 文件夹中有名为 button_1.png、button_2.png、button_3.png 的文件。(根据所使用的配色方案为同一 UI 元素动态使用不同的资源文件?)

谢谢,

4

3 回答 3

2

我使用 getIdentifier() 做了一些类似的事情:

int resId = context.getResources().getIdentifier("button_1","drawable",context.getPackageName());
button.setBackgroundResource(resId);
于 2012-05-18T16:33:35.357 回答
1

为了使它是动态的,将需要一些代码。您可以在 xml 中设置布局,如下所示:

<Button 
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button" />

然后在您的代码中引用它,如下所示:

int resId = context.getResources().getIdentifier("button_1","drawable",context.getPackageName());
Button button = (Button view.findViewById(R.id.button1);
button.setBackgroundResource(resId);

我没有测试过这个,但这应该给你的想法。

于 2012-05-19T20:56:22.483 回答
0

放入R.drawable.button_n一个数组int res[],然后调用它们button.setBackgroundResource(res[i])

于 2012-05-18T16:15:19.467 回答