2016-04-28 5 views
0

Я пытаюсь изменить цвет фона моего ActionBar, а также цвет заголовка. Должен сказать, что я использую библиотеку поддержки.Изменение цвета фона панели действий с помощью приложения AppCompat

Мои стили следующие.

<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="windowActionModeOverlay">true</item> 
    <item name="android:actionBarStyle">@style/AppTheme.ActionBar</item> 
</style> 

<style name="AppTheme.ActionBar" parent="@style/Widget.AppCompat.ActionBar.Solid"> 
    <item name="background">@color/red_300</item> 
    <item name="android:background">@color/red_300</item> 
    <item name="colorPrimary">@color/red_300</item> 
    <item name="android:titleTextStyle">@style/AppTheme.ActionBar.Title</item> 
</style> 

<style name="AppTheme.ActionBar.Title" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"> 
    <item name="android:textColor">@color/red_700</item> 
    <item name="android:textColorPrimary">#00FF00</item> 
</style> 

И в стили-v21

<style name="AppTheme.ActionBar" parent="@style/Widget.AppCompat.ActionBar.Solid"> 
    <item name="background">@color/red_300</item> 
    <item name="android:background">@color/red_300</item> 
    <item name="colorPrimary">@color/red_300</item> 
    <item name="android:colorPrimary">#FF0000</item> 
    <item name="android:colorAccent">#FF0000</item> 
    <item name="android:titleTextStyle">@style/AppTheme.ActionBar.Title</item> 
</style> 

<style name="AppTheme.ActionBar.Title" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"> 
    <item name="android:colorPrimary">#FFFF00</item> 
    <item name="android:colorAccent">#FFFF00</item> 

    <item name="android:textColor">@color/red_700</item> 
    <item name="android:textColorPrimary">#00FF00</item> 
</style> 

Как вы, ребята могли бы видеть на сумму изменяющих пытается установить его, я уже схожу с ума. Любые подсказки относительно того, как я могу изменить фон ActionBar и его цвет заголовка?

Я должен отметить, что я пытаюсь это на Android 6.

+0

изменить действие бар цвет, вам придется изменить primaryColor в файле color.xml. и Изменить цвет названия. попробуйте то же самое, что вы делаете, удаляя или добавляя префикс android. –

+0

Я знаю, что могу изменить его с помощью colorPrimary, но я не хотел менять его в базовой теме. Любой способ сделать некоторые в более конкретном стиле? – HelderMPinhal

+0

Вы пытались сделать это в коде? –

ответ

1

В создании ToolBar (XML), установив app:theme зафиксировал его. Указав тему там с ее цветом, Primary изменил фон ActionBar, не затрагивая базовую тему.

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/AppTheme.AppBarOverlay"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:popupTheme="@style/AppTheme.PopupOverlay" /> 

</android.support.design.widget.AppBarLayout> 

и тема:

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.ActionBar"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
</style> 
Смежные вопросы