Intereting Posts
Android selectableItemBackground не оказывает влияния на длительное нажатие Как получить уровень компенсации экспозиции с камеры телефона Android через Java, когда снимок сделан? Использовать макет местоположения без установки его в настройках Я продолжаю получать ошибку «Никакой активности не найдено для обработки намерения» Получите широту и долготу позиции, нажатой на карту forge 0.5.1 MapView Android: ScrollView 'setOnScrollListener' (например, ListView) Android APK, построенный из студии и консоли Android, имеет различные отпечатки SHA Разметка Android сломана с фоном 9 патчей Когда рабочий поток работает, пользовательский интерфейс становится изменчивым Захват изображения с камеры и отображение в действии Android-джойстик для Android Studio, как приложение Gmail Как получить доступ к строкам ресурсов из Enum ToString в Android? Выровнять кнопки AlertDialog до центра Android.R.color.transparent не полностью прозрачный FragmentTabHost не создает вид внутри Фрагмент в андроиде

Ресурс 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?

Solutions Collecting From Web of "Ресурс colors.xml не работает"

Вы должны использовать это вместо этого:

 TableRow test = (TableRow)findViewById(R.id.tableRow2); test.setBackgroundColor(getResources().getColor(R.color.Green)); 

Несчастливо, что идентификатор ресурса и цвет имеют один и тот же тип: int . Вы должны получить значение цвета из ресурсов через getColor() и использовать эту оценку как цвет. Пока вы используете идентификатор ресурса как цвет.

Попробуйте вместо этого использовать команду setBackgroundResource, т.е.

 TableRow test = (TableRow)findViewById(R.id.tableRow2); test.setBackgroundResource(R.color.Green);