2015-09-27 169 views
1

我已經查看了Android在線示例,並通過所有可用文檔進行了詳細閱讀,但我仍然很困惑。我將Android SDK的版本19作爲minSDK。我需要做的就是更改操作欄的背景顏色。我的代碼出於某種原因似乎不起作用。更改操作欄的顏色

  1. 我希望應用程序其餘部分的窗口背景顏色爲白色。
  2. 我希望操作欄的背景爲藍色。

下面是我的資源文件:

<resources> 
    <!-- Base application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat.Light"> 
     <item name="android:windowBackground">@android:color/white</item> 
     <item name="android:actionBarStyle">@style/post_action_bar</item> 
    </style> 

    <style name="post_action_bar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
     <item name="android:background">@android:color/holo_blue_dark</item> 
     <item name="android:backgroundStacked">@android:color/holo_blue_dark</item> 
     <item name="android:backgroundSplit">@android:color/holo_blue_dark</item> 
     <item name="android:windowActionBar">true</item> 
     <item name="android:windowNoTitle">false</item> 
    </style> 
</resources> 

這是行不通的。該應用程序的其餘部分是白色的,但我的酒吧有一個灰色的顏色。

回答

2

這是因爲添加以下內容到AppTheme

<!-- colorPrimary is used for the default action bar background --> 
    <item name="colorPrimary">@color/my_awesome_color</item> 

注一樣容易:這將工作預棒棒糖,只要你的主題的母公司是Theme.AppCompat和您的支持庫ATLEAST V21 ,因此,如果您還沒有已經更新支持的lib到在這個時候v23.0.1(我認爲)的最新

compile 'com.android.support:appcompat-v7:23.0.1' 

this如果您想了解更多關於你的造型動作條,多

+0

colorPrimary在v21中不支持19 –

+0

@OlivierTwist您是否閱讀了答案中的鏈接?讓我引用這個「在較老的平臺上,AppCompat在可能的情況下模擬顏色主題,目前這僅限於着色操作欄和一些小部件。」 – freddieptf

+0

這意味着只要你的主題的父母來自Theme.AppCompat,它將工作之前-v21 – freddieptf

2

您可以嘗試以編程方式在代碼中設置類似

ActionBar ab = getActionBar(); 
    ab.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#000000"))); 
+0

我想通過xml設置它而不是代碼 –