Можно сделать что-то вроде:
if (colorScheme == 1)
button.setBackgroundResource(R.drawable.button + "_1")
чтобы использовать R.drawable.button_1 в качестве ресурса для этой кнопки в цветовой схеме 1, если в папке с рисунком имеются файлы с именем button_1.png, button_2.png, button_3.png. (динамически использовать другой файл ресурсов для одного и того же элемента пользовательского интерфейса на основе используемой цветовой схемы?)
Благодаря,
Я сделал что-то simular, используя getIdentifier():
int resId = context.getResources().getIdentifier("button_1","drawable",context.getPackageName());
button.setBackgroundResource(resId);
Для того, чтобы он был динамичным, потребуется некоторый код. Вы можете настроить свой макет в 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);
Я не тестировал это, но это должно дать вам эту идею.
Поместите R.drawable.button_n
в массив int res[]
а затем вызовите их button.setBackgroundResource(res[i])