Intereting Posts
Запуск Android-сервиса каждые 5 минут Как автоматически генерировать отчет для тестирования Android в HTML Нечетная ошибка logcat при переключении на новый фрагмент Как узнать, видно ли приложение для Android? Как изменить видимость компоновки программно Android. Сохраняйте ранее добавленные намерения дополнительно при переходе к родительской активности. Как установить рингтон с RingtoneManager.ACTION_RINGTONE_PICKER? Отображение раскрывающегося списка панели действий Android на элемент click Установить видимость индикатора выполнения после завершения загрузки изображения с использованием библиотеки Glide Android Как я могу позвонить вместе с камерой или галереей? Игровой движок для iPhone / Android Показать Назад Стрелка на панели инструментов Android Получите текст с выделенными элементами? Создание настраиваемого макета для настроек ADB не найдено устройств

Изменение цвета панели действий программно более одного раза

я использую

getSherlockActivity().getSupportActionBar().setBackgroundDrawable(new ColorDrawable(0xff00ACED)); 

Чтобы изменить цвет моей панели действий в фрагменте, он работает. Но если я открою этот фрагмент, тогда откройте другой фрагмент, который вызывает этот метод с другим цветом, панель действий не изменится на нужный цвет. Вместо этого он превращается в белый цвет вместо цвета, на который я его устанавливал.

Solutions Collecting From Web of "Изменение цвета панели действий программно более одного раза"

Это быстрое решение, которое я нашел

 mActionBar.setBackgroundDrawable(new ColorDrawable(0xff00DDED)); mActionBar.setDisplayShowTitleEnabled(false); mActionBar.setDisplayShowTitleEnabled(true); 

У меня была та же проблема, ответ от user1634451 работал, но только один раз (не включал бы несколько переключателей цвета подряд)

Это определенно зафиксировало это:

 bar.setBackgroundDrawable(new ColorDrawable(getResources() .getColor(R.color.app_bar_online))); 

Вместо прямого связывания с цветом, выполняющим new ColorDrawable(R.color.app_bar_online)

Попробуй это,

Method1:

 getSupportActionBar().setBackgroundDrawable(new ColorDrawable(0xff00FFED)); 

Method2:

 getSupportActionBar().setBackgroundDrawable(new ColorDrawable(getResources() .getColor(R.color.bg_color))); 

method3:

 getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#3A1212"))); 

GetColor устарел. Использовать ContextCompat:

 bar.setBackgroundDrawable(new ColorDrawable(ContextCompat.getColor(context, R.color.app_bar_online))); 

Если вы хотите установить цвет ActionBar и иметь цвет как String, это, похоже, работает для меня.

  getSupportActionBar().setBackgroundDrawable( new ColorDrawable(Color.parseColor("#993b3c4e"))); 

Возможно, вам придется включить и отключить заголовок, чтобы он был правильно обновлен / отображен, как в ответе, указанном user1634451 , но мне не нужно было в моем случае.