2014-05-13 257 views

回答

20

需要聲明android:actionBarItemBackground屬性,它是:

自定義項目操作欄項目的狀態列表可繪背景。

然後,在你的風格操作步驟如下:

<style name="CustomStyle" parent="@style/Theme.Holo.Light" > 
    <item name="android:actionBarItemBackground">@drawable/ab_item_background</item> 
    <item name="actionBarItemBackground">@drawable/ab_item_background</item> 
</style> 

所以,把你自己繪製了selector和每個州(壓,突出重點,殘疾人等)有預期的背景。例如,上述聲明的繪製ab_item_background.xml可能是這樣的:

<selector xmlns:android="http://schemas.android.com/apk/res/android" 
    android:exitFadeDuration="@android:integer/config_mediumAnimTime"> 
    <!-- focused/pressed: color=red --> 
    <item 
     android:state_focused="true" 
     android:state_pressed="true" 
     android:drawable="@color/red" /> 
    <!-- pressed: color=red --> 
    <item 
     android:state_pressed="true" 
     android:drawable="@color/red" /> 
    <!-- normal: color=transparent --> 
    <item 
     android:drawable="@android:color/transparent" /> 
</selector> 

Styling the Action Bar,你可以找到所有的定製符合候選條件和所有屬性這麼做。

+0

通過使用DarkActionBar修復它 – MaartenDekkers

+0

完美工作,謝謝..雖然''android:actionBarItemBackground''被Android理解,而''actionBarItemBackground''給出錯誤,所以我刪除它,是否有必要同時具備這兩個? –

+1

這取決於你的actionbar @RohanKandwal。如果您使用SherlockAB或支持庫,則必須使用它,是的。 – Fllo

1
ActionBar actionBar = getActionBar(); 
actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#0a0a0a"))); 

這可能幫助

+0

這是改變操作欄的背景顏色,而不是主頁按鈕 –