Как изменить цвет фона заголовка ActionBar?

Независимо от того, как я изменяю стили, цвет фона, на который указывает красная стрелка, просто не изменится с фона.

IMG

Как изменить этот цвет? Я нацелен на 4.0+ и не забочусь о 4.0-устройствах и ОС.

Вот ссылка на мой файл styles.xml . Извините, мне пришлось подвергнуть цензуре несколько вещей, поскольку этот проект находится под NDA.

Я пробовал много вещей, в том числе:

  • Изменение android:background в windowTitleBackgroundStyle
  • Изменение android:background в actionBarStyle
  • Изменение android:background в actionBarWidgetStyle
  • Изменение android:actionBarItemBackground

Ни одна из этих работ не работает. Это текстовое представление, похоже, всегда придерживается значения android:background из моей базовой темы, и ничто не могло его переопределить.

Что мне не хватает или что-то не так?

Ну, вам нужно изменить андроид: background with windowBackground

 <style name="CCCBaseTheme" parent="@android:style/Theme.Holo"> <item name="android:windowBackground">@color/nav_background</item> <item name="android:textColor">@color/text</item> <item name="android:actionBarStyle">@style/CCCWidgetActionBar</item> </style> 

Надеюсь, это поможет.

В вашем xml-файле есть часть:

 <!-- ActionBar --> <style name="CCCWidgetActionBar" parent="@android:style/Widget.Holo.ActionBar"> <item name="android:background">@color/nav_background</item> <item name="android:textColor">@color/nav_text</item> <item name="android:titleTextStyle">@style/CCCWidgetActionBarTitle</item> <item name="android:textViewStyle">@style/CCCWidgetActionBarTitle</item> <item name="android:windowTitleStyle">@style/CCCWindowTitle</item> <item name="android:windowTitleBackgroundStyle">@style/CCCWindowTitleBackground</item> <item name="android:windowBackground">@color/nav_background</item> </style> 

Просто измените:

 <item name="android:background">@color/nav_background</item> 

От

 <item name="android:background">@color/pink</item> 

Или любой другой цвет.

Прекрасно работает для меня.

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

Выполните следующие шаги:

Только для этого можно создать пользовательскую панель «Шерлок» для заголовка.

Создайте отдельный XML-файл для заголовка в приложении.

Этот файл содержит вот такой ..

В этом пользовательском макете мы можем изменить цвет фона с помощью цветового кода.

header_sherlock.xml

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:weightSum="3" android:background="#008000" > <TextView android:id="@+id/header_tvleft" android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="1" android:gravity="left" android:layout_marginTop="@dimen/margintop" android:clickable="true" android:paddingLeft="@dimen/layoutpaddingleft" android:text="Textview" android:textColor="#ffffff" android:textSize="@dimen/header_leftbtn" /> <TextView android:id="@+id/header_tvcenter" android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="1" android:gravity="center_horizontal" android:layout_marginTop="@dimen/margintop" android:layout_marginRight="@dimen/sherlockpaddingright" android:layout_marginLeft="@dimen/sherlockpaddingleft" android:text="Textview" android:textColor="#ffffff" android:textStyle="bold" android:textSize="@dimen/header_title" /> <TextView android:id="@+id/header_tvright" android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="1" android:gravity="right" android:layout_marginTop="@dimen/margintop" android:clickable="true" android:paddingRight="@dimen/layoutpaddingright" android:text="Textview" android:textColor="#ffffff" android:textSize="@dimen/header_rightbtn" /> </LinearLayout> 

Для MainActivity или какой активности вы хотите добавить заголовок:

  getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); getSupportActionBar().setCustomView(R.layout.header_sherlock); header_tvleft = (TextView) findViewById(R.id.header_tvleft); header_tvleft.setText("LeftTitleName"); header_tvcenter = (TextView) findViewById(R.id.header_tvcenter); header_tvcenter.setText("CenterTitleName"); header_tvright = (TextView) findViewById(R.id.header_tvright); header_tvright.setText("RightTitleName"); 

Попробуйте этот метод.

Это старый вопрос, но у меня была точно такая же проблема – для меня проблема заключалась в том, что у меня было это:

  <item name="android:actionBarItemBackground">@drawable/btn_dark</item> <item name="actionBarItemBackground">@drawable/btn_dark</item> 

Где btn_dark был повторно использован с возможностью рисования для общих кнопок, определяющих цвет для включенных, нажатых и отключенных состояний. Он отлично работает на новых устройствах, но на моем старом телефоне 2,3 я получал серый фон по названию.

Интересно, что состояние отключенного (для которого я установил темно-серый цвет) было применено к более старым устройствам на фоне заголовка панели действий. Исправлено определение цвета с отключенным цветом.

Intereting Posts
Конечные точки Android AppEngine Auth и InApp Billing Android SimpleOnPageChangeListener – определение направления движения Будет ли какое-либо другое свойство SMS также изменяться, если пользователь прочитает SMS (из родного), исключая «читать»? Как установить кнопку управления в содержимом ползунка в android? Какой USB-драйвер мы должны использовать для Nexus 5? Android Multipart HTTP Post не отправляет MIME-тип файла C ++ OpenCV imread не работает в Android Как издеваться над методом e в журнале Почему добавлено разрешение READ_PHONE_STATE? Android UI-библиотека, в которой есть Action Bars, Dashboards и т. Д. Применить селектор Android для определенного дочернего элемента списка и отключить селектор на других дочерних элементах в том же элементе списка Почему я не могу подписать подпись в Google Maps API Android? Модернизация с помощью Rxjava Schedulers.newThread () vs Schedulers.io () Listview с табличным расположением Скрыть вкладку TabHost в Android