Как изменить цвет фона ActionBar ActionBarActivity с помощью XML?

Детали:

Я расширяю ActionBarActivity.
Eclipse и SDK полностью исправлены по состоянию на 2011-11-06.

 

Развернуто на устройстве Samsung с Android 2.3.3
Приложение имеет android:theme="@android:style/Theme.Light"

Проблема: приложение светлое, но ActionBar синее с серыми значками, едва видимыми на фоне синего цвета. Я также хочу, чтобы ActionBar был легким, поэтому серые значки более заметны.

Я пробовал изменять стили, но безрезультатно.
Я, вероятно, пропустил что-то тривиальное.

Как изменить цвет фона ActionBar ActionBarActivity с помощью XML?

Согласно документации – «Вы можете контролировать поведение и видимость панели действий с помощью API ActionBar, которые были добавлены в Android 3.0 (уровень API 11)».

Таким образом, ActionBar не будет работать для вашей целевой среды, которая находится на уровне API 10 (Android 2.3.3).

На всякий случай, если вы нацелитесь на минимальный уровень API 11, вы можете изменить цвет фона ActionBar, указав собственный стиль, например:

     

И установите «MyTheme» в качестве темы для приложения / активности.

Попробуй это

 ActionBar bar = getActionBar(); bar.setBackgroundDrawable(new ColorDrawable("COLOR")); 

попробуй это:

 ActionBar bar = getActionBar(); bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#0000ff"))); 

Используйте это – http://jgilfelt.github.io/android-actionbarstylegenerator/

Его удивительный инструмент, который позволяет настраивать панель действий с предварительным просмотром в реальном времени.

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

Вот скриншот инструмента

Всего наилучшего! 🙂

У меня была та же проблема, когда моя панель действий стала серым, когда я ввел этот код. Скорее всего, ваша оригинальная таблица стилей выглядит так:

  

«DarkActionBar» – это то, что удерживало вашу панель действий серой. Я изменил его на это, и он сработал:

    

Я также добавил, как редактировать цвет текста. Кроме того, нет необходимости менять что-либо, окружающее ресурсы.

-Warren

Поведение Actionbar также может быть изменено в API <11

См. Официальную документацию по Android для справки

Я minSdkVersion = "9" приложение с minSdkVersion = "9" и targetSdkVersion = "21" Я изменил цвет панели действий и отлично работает с уровнем API 9

Вот xml

res/values/themes.xml

        

и установите цвет панели действий, который вы хотите

res/values/colors.xml

   #fff //write the color you want here  

Цвет Actionbar также может быть определен в файле .class , fragment

 ActionBar bar = getActionBar(); bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#0000ff"))); 

но это не будет работать с API <11 , поэтому стилизация панели действий в xml – это только путь для API <11

Прямо добавьте эту строку с вашим цветовым кодом

 getSupportActionBar().setBackgroundDrawable( new ColorDrawable(Color.parseColor("#5e9c00"))); 

не нужно создавать объект ActionBar каждый раз …

На Nexus 4 человека кажется, что цвет становится серым.

 ActionBar bar = getActionBar(); // or MainActivity.getInstance().getActionBar() bar.setBackgroundDrawable(new ColorDrawable(0xff00DDED)); bar.setDisplayShowTitleEnabled(false); // required to force redraw, without, gray color bar.setDisplayShowTitleEnabled(true); 

(весь кредит на этот пост, но он похоронен в комментариях, поэтому я хотел бы разместить его здесь) https://stackoverflow.com/a/17198657/1022454

попробуйте один код строки:

 getActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.MainColor))); 

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

    

Так вы можете изменить цвет панели действий.

 import android.app.Activity; import android.content.Context; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.os.Build; import android.support.v4.content.ContextCompat; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; public class ActivityUtils { public static void setActionBarColor(AppCompatActivity appCompatActivity, int colorId){ ActionBar actionBar = appCompatActivity.getSupportActionBar(); ColorDrawable colorDrawable = new ColorDrawable(getColor(appCompatActivity, colorId)); actionBar.setBackgroundDrawable(colorDrawable); } public static final int getColor(Context context, int id) { final int version = Build.VERSION.SDK_INT; if (version >= 23) { return ContextCompat.getColor(context, id); } else { return context.getResources().getColor(id); } } } 

Из вашего MainActivity.java измените цвет панели действий следующим образом:

  ActivityUtils.setActionBarColor(this, R.color.green_00c1c1); 

Этот код может быть полезен

     

Используйте этот код .., чтобы изменить цвет фона панели действий. открыть «res / values ​​/ themes.xml» (если нет, создать его) и добавить

       

Примечание: этот код работает только для Android версии 3.0 и более поздних версий

Когда вы расширяете действие, используйте следующий код

 ActionBar actionbar = getActionBar(); actionbar.setBackgroundDrawable(new ColorDrawable("color")); 

Когда вы расширяете AppCompatActivity, используйте следующий код

 ActionBar actionbar = getSupportActionBar(); actionbar.setBackgroundDrawable(new ColorDrawable("color")); 

Используйте это, это сработает.

 ActionBar actionbar = getActionBar(); actionbar.setBackgroundDrawable(new ColorDrawable("color")); 
 getActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.TabColor))); 

color.xml файл:

  #11FF00 ` 
  • Почему мое раскрывающееся меню переполнения над панелью действий?
  • Создание экрана предпочтений с поддержкой (v21) Панели инструментов
  • Каков размер ActionBar в пикселях?
  • Как объявить панель инструментов с расширенной высотой / панель действий на Android Lollipop?
  • Как получить панель инструментов из fragmentа?
  • Как я могу реализовать пользовательскую панель действий с пользовательскими кнопками в Android?
  • Как заставить панель действий быть внизу в ICS?
  • Панель действий Android, не отображающая переполнение
  • Изменение цвета кнопки переполнения на ActionBar
  • Цвет текста пункта меню «Действие»
  • Меню переполнения команды в ActionBarSherlock
  • Давайте будем гением компьютера.