Intereting Posts
Установить постоянное значение с помощью градуировки Почему я получаю IllegalStateExceptions каждый раз, когда я запускаю Activity, который использует фрагменты поддержки? Экспорт android в csv и отправка в виде вложения электронной почты Как загрузить изображение через байтовый массив с помощью Glide? Как предотвратить закрытие диалогового окна при нажатии кнопки Как использовать SQLiteDatabase.CursorFactory Передняя камера в Camera2 не захватывает изображение Как я могу сделать кнопку done на мягкой клавиатуре? Возможно ли удаленно размещать ресурс, используемый в приложении для Android, таким образом, что его можно использовать только моим приложением? Android, как использовать DexClassLoader для динамической замены Activity или Service Wi-Fi и 3G одновременно Как получить количество строк в sqlite с помощью Android? Как предотвратить Android Market от JPEG-сжатия рекламного графического PNG? Установить подсказку поиска динамически Биллинг на Android-приложение Ошибка: этот предмет не может быть куплен. (Код ошибки: IAB-DPTL)

Установить цвет фона программно

Я пытаюсь установить цвет фона программно, но когда я устанавливаю каждый из моих цветов, фон черный, но с любым цветным фоном, как белый, как тема приложения.

View someView = findViewById(R.id.screen); View root = someView.getRootView(); root.setBackgroundColor(color.white); 

Вы видите код?

Solutions Collecting From Web of "Установить цвет фона программно"

Я не понял ваш вопрос … что вы подразумеваете под «когда я устанавливаю каждый из моих цветов»? Попробуйте это (отредактируйте: "#fffff" в исходном ответе, измененном на "#ffffff"

  yourView.setBackgroundColor(Color.parseColor("#ffffff")); 

Вам нужно использовать метод getResources (), попробуйте использовать следующий код

 View someView = findViewById(R.id.screen); View root = someView.getRootView(); root.setBackgroundColor(getResources().getColor(color.white)); 

Редактировать::

GetResources.getColor () устарел так, используйте, как показано ниже

  root.setBackgroundColor(ContextCompat.getColor(this, R.color.white)); 

Вы можете использовать

  root.setBackgroundColor(0xFFFFFFFF); 

или

  root.setBackgroundColor(Color.parseColor("#ffffff")); 

Предыдущие ответы теперь устарели, вам нужно использовать ContextCompat.getColor для правильного получения цвета:

 root.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.white)); 

Если вы просто хотите использовать некоторые из предопределенных цветов Android, вы можете использовать Color.COLOR (где COLOR BLACK , WHITE , RED и т. Д.):

 myView.setBackgroundColor(Color.GREEN); 

В противном случае вы можете сделать так, как предложили другие

 myView.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.myCustomGreen)); 

Я не рекомендую использовать гексагонный цвет напрямую. Вы должны сохранить все свои пользовательские цвета в colors.xml .

Если вы сохраните цветовой код в colors.xml, который находится под папкой значений, вы должны вызвать следующее:

 root.setBackgroundColor(getResources().getColor(R.color.name)); 

name означает, что вы объявляете в <color/> .

В моем случае это не меняло цвет, потому что я устанавливал цвет в свой ресурс xml .

После удаления строки, которая устанавливает цвет, она отлично работает программно

Это пример, который я сделал в RecyclerView

 final Drawable drawable = ContextCompat.getDrawable(mContext, R.drawable.ic_icon).mutate(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { holder.image.setBackground(drawable); } else { holder.image.setBackgroundDrawable(drawable); } 

Это должно работать: вы должны использовать getResources (). GetColor (R.color.WHITE), чтобы получить ресурс цвета, который вы должны добавить в файле ресурсов colors.xml

 View someView = findViewById(R.id.screen); someView.setBackgroundColor(getResources().getColor(R.color.WHITE));