2

我正在使用兼容性庫v7進行操作。設置android actionbar的背景顏色

我只是試圖將我的操作欄(對於Android 2.1及更高版本 - 儘管我運行Android 4.4.2)的顏色設置爲純色。

但是顏色不變。它仍然是一樣的。

我也嘗試創建一個與顏色,但也不會改變的固體drawable。

最後,我測試瞭如果我可以更改我的佈局背景,我可以 - 它必須是關於我沒有得到的操作欄背景的東西。

下面是代碼:

<?xml version="1.0" encoding="utf-8"?> 
<resources xmlns:android="http://schemas.android.com/apk/res/android"> 
    <style name="CustomActionBarTheme" 
      parent="@style/Theme.AppCompat.Light.DarkActionBar"> 

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

    <style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar"> 

     <item name="android:background">#0000ff</item> 

    </style> 
</resources> 

回答

0

我解決了它通過:

  • 正確安裝support-v7-appcompat庫。我的錯誤。
  • 將樣式轉換爲每個版本的res/values/styles.xml文件,即一個用於向後兼容,另一個用於值-v11。

我不知道爲什麼我不能在themes.xml中得到我想要的結果。

如果任何人有一個答案,我會很感激

+0

的程序兼容性,我發現你需要使用「背景」,而不是:自定義「MyActionBar」風格「的android背景」,然後它好工作有它在themes.xml中。 – Maks

0

使用getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#808080")));Activity extends SherlockActivity或顏色作爲你的願望:)

1

這似乎爲我工作。嘗試使用資源而不是原始值。

<style name="app_theme" parent="@android:style/Theme.Holo"> 
    <item name="android:actionBarStyle">@style/app_action_bar</item> 
</style> 

<style name="app_action_bar" parent="@android:style/Widget.Holo.ActionBar"> 
    <item name="android:background">@color/google_lightest_gray</item> 
    <item name="android:icon">@android:color/transparent</item> 
    <item name="android:windowActionBarOverlay">false</item> 
</style> 
0

您可以使用:

getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.color.colorname)); 
0

使用下面的代碼getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.actionbar_bg_color.xml));

actionbar_bg_color.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> 
     <solid android:color="@color/actionbar_bg"/> <!-- set desired #0000ff color in color.xml 
you can use here solid color as well as gradient --> 
</shape> 

希望這有助於你