Intereting Posts
Обрезать определенную часть изображения в android Android Следующие классы не удалось найти – EditText (Изменить на android.widget.EditText, Fix Build Path, Edit XML) Идентификатор устройства. Значение null Ресурс не найден при использовании стиля Theme.Sherlock Вкладки ViewPagerIndicator: значки выше текста Отправка SMS между эмуляторами Android Как использовать NumberPicker в Android-приложении с API 7? Прокрутка NestedScrollView с помощью recycliewiew Могу ли я получить данные из общих настроек внутри службы? Проверка подписки на сообщение о покупке приложения для Android в Python в Google App Engine ERROR get 'name' attribute: атрибут не является строковым значением ActionBarSherlock setCustomView не работает в Android 3.2 Сбой эмулятора Android 4.0.3: не удалось выделить память: 8 Android: как обнаружить, когда свиток закончился Как просматривать файлы Android / data / your.package.name на внешнем хранилище в Android 4.2 с помощью многопользовательской среды?

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

я использую

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 , но мне не нужно было в моем случае.