1

嗨,我想更改我的ActionBar菜單的單擊Backround顏色。如何設計ActionBar背景和溢出菜單(顏色和文本)

我用選擇器等嘗試了很多東西,但沒有任何工作。

我不想使用ActionBar生成器或類似的東西。我想通過標準的XML代碼來改變點擊事件的顏色。但我不知道如何。

這是我styles.xml

<resources> 

<style name="keksRatingBar" parent="@android:style/Widget.RatingBar"> 
<item name="android:progressDrawable">@drawable/keks_ratingbar_full</item> 
<item name="android:minHeight">23dip</item> 
<item name="android:maxHeight">78dip</item> 
</style> 

<style name="MyadaptHoloLightTheme" parent="@android:Theme.Holo.Light"> 

<item name="android:actionBarStyle">@style/ActionBar</item> 
<item name="android:popupMenuStyle">@style/ActionBarPopup</item> 
</style> 

<!--ActionBarBackround Color --> 
<style name="ActionBar" parent="android:style/Widget.Holo.Light.ActionBar"> 
<item name="android:background">@color/ActionBarRed</item> 
<item name="android:dropDownSelector">@color/ActionBarSelection</item> 
</style> 

<!-- ActionBar Backround Color Popup --> 
<style name="ActionBarPopup" parent="android:style/Widget.Holo.Light.ListPopupWindow"> 
<item name="android:popupBackground">@color/ActionBarMenu</item> 

</style> 

</resources> 

回答

0

有幾種不同的文字和背景(顏色/繪製),隨着動作條的不同部分處理的風格。

對於主標題和動作條/ ActionMode背景:

<style name="ColorTheme.DeviceDefault.Dark" parent="@style/Theme.AppCompat"> 
    <!-- ActionBar --> 
    <item name="android:actionBarStyle">@style/ColorTheme.ActionBar.Dark.Solid</item> 

    <item name="android:actionModeStyle">?android:actionBarStyle</item> 
    <item name="android:actionModeBackground">@drawable/cab_background_top_dark</item> 
</style> 

<style name="ColorTheme.ActionBar.Dark.Solid" parent="@android:style/Widget.Holo.ActionBar.Solid"> 
    <item name="android:titleTextStyle">@style/TitleTextStyle</item> 
    <item name="android:background">@drawable/ab_solid_dark</item> 

    <!-- Added in API 14 --> 
    <item name="android:backgroundStacked">@drawable/ab_stacked_solid_dark</item> 
    <item name="android:backgroundSplit">@drawable/ab_bottom_solid_dark</item> 
</style> 

對於菜單項:

<style name="ColorTheme.DeviceDefault.Dark" parent="@style/BaseTheme.DeviceDefault.Dark"> 

    <item name="android:actionMenuTextAppearance">@style/TitleTextStyle</item> 
    <item name="android:actionMenuTextColor">?colorButtonText</item> 

    [Also various action...Style attributes] 
</style> 

對於溢出菜單:

<style name="ColorTheme.DeviceDefault.Dark" parent="@style/BaseTheme.DeviceDefault.Dark"> 
    <item name="android:popupMenuStyle">@style/ColorTheme.ActionBar.PopupMenu.Dark</item> 

    <item name="android:textAppearanceLargePopupMenu">@style/PopupMenuTextStyle</item> 
    <item name="android:textAppearanceSmallPopupMenu">@style/PopupMenuTextStyle.Small</item> 
</style> 


<style name="PopupMenuTextStyle" parent="@android:attr/textAppearance"> 
    <item name="android:textColor">?colorTitleText</item> 

    <item name="android:typeface">sans</item> 
    <item name="android:textSize">@dimen/text_size_small_plus</item> 
    <item name="android:textStyle">normal</item> 
</style> 

<style name="PopupMenuTextStyle.Small"> 
    <item name="android:textSize">@dimen/text_size_small</item> 
</style> 

還要注意,一些這些API僅適用於API 11+或API 14+,因此要使用較低版本的SDK,您需要使用AppCompat Support Library,一個刪除「android:」命名空間。因此,例如,「android:actionBarStyle」將在pre-API 11樣式上爲「actionBarStyle」。

相關問題