2015-04-01 233 views
0

我的Android應用程序使用最低SDK版本15.我試圖更改操作欄的背景顏色,並希望通過更改樣式和主題來實現此目的。我嘗試了很多東西,但背景仍然很暗。以下是我的樣式:更改操作欄的背景顏色

<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> 
    <item name="android:actionBarStyle">@style/MyActionBar</item> 
</style> 
<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
    <item name="android:background">#eeeeee</item> 
</style> 

在我的表單中,我將應用程序的主題設置爲AppTheme。

回答

1

默認程序兼容性支持庫使用colorPrimary屬性的值作爲ActionBar顏色。

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <item name="colorPrimary">#eeeeee</item> 
</style> 

但是,如果你想的ActionBar色獨立於主題的原色,那麼你就可以將其設置是這樣的:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <item name="actionBarStyle">@style/ActionBar</item> 
</style> 

<style name="ActionBar" parent="Widget.AppCompat.ActionBar.Solid"> 
    <item name="background">@color/primary_teal_500</item> 
</style> 
+0

您的第二個解決方案就是我一直在尋找的。它看起來幾乎與我發佈的相同,除了當我將ActionBar樣式的父級設置爲@android:style/Widget.Holo.Light.ActionBar時,它不起作用。你的父母是正確的。 – AndroidDev 2015-04-01 17:04:37

0

使用colorPrimary和colorPrimaryDark

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <!-- Customize your theme here. --> 

     <item name="colorPrimary">@color/LightColor</item> 
     <item name="colorPrimaryDark">@color/DarkColor</item> 

    </style> 
+0

這並不工作,但它提出了一個問題,什麼colorPrimary指的是。這幾乎肯定會改變使用該屬性的許多其他事物的顏色,而不僅僅是操作欄。沒有嚴格的操作欄的屬性? – AndroidDev 2015-04-01 16:45:35

+0

@AndroidDev你需要創建一個樣式或使用ActionBarSherlock庫 – Santiago 2015-04-01 16:48:00

+0

但我確實創建了一個樣式,如我的文章所示。我不應該依賴一些第三方庫。 – AndroidDev 2015-04-01 16:50:54

0

修改您的style.xml文件,如下所示,並嘗試,

<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> 
     <item name="android:background">#eeeeee</item> 
    </style> 

而且你menifest如下,

android:theme="@style/AppTheme" > 
+0

根本沒有工作。另外,沒有主題叫做''AppBaseTheme''。我不得不使用@ style/Theme.AppCompat.Light.DarkActionBar – AndroidDev 2015-04-01 16:44:03

+0

我已經更新了安裝程序 – 2015-04-01 16:56:30

0

當使用支持圖書館,定義這樣的行動欄:

RES /價值/的themes.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <!-- the theme applied to the application or activity --> 
    <style name="CustomActionBarTheme" 
           parent="@style/Theme.AppCompat.Light.DarkActionBar"> 
        <item name="android:actionBarStyle">@style/MyActionBar</item> 

        <!-- Support library compatibility --> 
        <item name="actionBarStyle">@style/MyActionBar</item> 
    </style> 

    <!-- ActionBar styles --> 
    <style name="MyActionBar" 
           parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse"> 
        <item name="android:background">@drawable/actionbar_background</item> 

        <!-- Support library compatibility --> 
        <item name="background">@drawable/actionbar_background</item> 
    </style> 
</resources> 

然後套用您的主題,你的整個應用程序或個別活動:

<application android:theme="@style/CustomActionBarTheme" ... />