Ресурс colors.xml не работает
Я создал файл colors.xml в своем приложении для Android в /res/values/colors.xml. Содержимое...
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="Green">#00ff00</color>
</resources>
Я пытаюсь обновить фон моего TableRow, используя...
TableRow test = (TableRow)findViewById(R.id.tableRow2);
test.setBackgroundColor(R.color.Green);
Это не означает, что он зеленый, вместо этого он серый. Независимо от того, какие значения я добавляю в файл colors.xml, он всегда имеет один и тот же серый цвет. Однако это работает...
TableRow test = (TableRow)findViewById(R.id.tableRow2);
test.setBackgroundColor(android.graphics.Color.GREEN);
Что-то не так с моим цветом .xml?
Ответы
Ответ 1
Вместо этого вы должны использовать это:
TableRow test = (TableRow)findViewById(R.id.tableRow2);
test.setBackgroundColor(getResources().getColor(R.color.Green));
Несчастливо, что идентификатор и цвет ресурса имеют один и тот же тип: int
. Вы должны получить значение цвета из ресурсов через getColor()
и использовать эту оценку как цвет. Пока вы используете идентификатор ресурса как цвет.
Ответ 2
Попробуйте вместо этого использовать команду setBackgroundResource, то есть
TableRow test = (TableRow)findViewById(R.id.tableRow2);
test.setBackgroundResource(R.color.Green);