Как изменить цвет фона TextView на цвет, определенный в моем файле values ​​/ colors.xml? - PullRequest
6 голосов
/ 06 февраля 2011

Я работаю над проектом Android с использованием Eclipse.Я хочу изменить цвет фона TextView, используя один из цветов, которые я определил в res / values ​​/ colors.xml.Все эти цвета доступны с использованием R.color.color_name.

Моя проблема в том, что это просто не будет работать.Изменение одного из моих определенных цветов всегда оставляет фон TextView установленным по умолчанию, в данном случае, черным.Если я использую один из встроенных цветов Java, он работает нормально.Я думаю, что это проблема определения цвета, связанная с тем, как я на самом деле определяю свои цвета в своем XML, но я не уверен.

// This works:
weight1.setBackgroundColor(Color.BLACK);

// This does not work:
weight2.setBackgroundColor(R.color.darkgrey);

// Color Definition: (this is in a separate xml file, not in my Java code)
<color name = "darkgrey">#A9A9A9</color>

Ответы [ 2 ]

19 голосов
/ 11 апреля 2011

На самом деле с этим еще проще:

weight2.setBackgroundResource(R.color.darkgrey);
11 голосов
/ 06 февраля 2011

Это не работает, потому что вы устанавливаете цвет фона для самого ключа (который является шестнадцатеричным значением, таким как 0x7f050008) вместо его значения.Чтобы использовать это значение, попробуйте:

weight2.setBackgroundColor(getResources().getColor(R.color.darkgrey));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...