Intereting Posts
Пользовательское уведомление с динамическим расположением в удаленном представлении Android Canvas.DrawBitmap без размытия / AntiAliasing? Векторы, плохо отображаемые на экране Chrome для Android Изображения в SimpleCursorAdapter Настроить фокус большого пальца и нажимать на пользовательскую панель поиска программно Android. Где мы должны сохранять имя пользователя и пароль в памяти устройства? GCM с пользовательским широковещательным приемопередатчиком Приложение отклонено из-за Google Pay Как избежать onCreateView () при прокрутке в вкладках Установка Android sdk. Ошибка: был найден недопустимый контент, начиная с элемента 'd: skin'. На данный момент не ожидается никакого дочернего элемента Как удалить панель кнопок на нижнем экране Не включили ли вы ожидающие действия в дополнительные функции? Android ListView и OnClickListener: как получить выбранный элемент MediaMetadataRetriever .getFrameAtTime (длинный, вариант) сбой Xperia Z эмулятор

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

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

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));