Intereting Posts
Где увидеть сгенерированный XML (KSOAP2) При условии, что зависимость от грейдов AAR не JAR Размер текста и различные размеры экрана для Android GetAllNetworkInfo () устарел. Как использовать getAllNetworks () для проверки сетевого соединения Android? Использование putExtra для передачи значений в службу намерения Объясните разницу между drawable, drawable-ldpi, drawable-mdpi и drawable-hdpi Не удалось расширить RemoteViews: MediaSessionCompat и NotificationCompat.MediaStyle на устройствах HUAWEI Android щепотку увеличить большое изображение, эффективность памяти без потери деталей Android Studio: фоновая задача выполняется неограниченное время Не удается найти .idea / misc.xml при создании в Android Studio Когда getView () в ArrayAdapter вызывается Android ScrollView может содержать только один прямой дочерний Есть ли какой-либо код в Activity, чтобы ga_autoActivityTracking = true работал в Google Analytics V4 MKCoordinateRegionMakeWithDistance эквивалент в Android Андроидная перехват последних приложений

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

я использую

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