7

如何修改Android應用程序的操作欄上項目的樣式?修改ActionBar中Android項目的樣式

我tryed如下:

<item name="android:actionBarStyle">@style/ActionBar.Light</item> 

<style name="ActionBar.Light" parent="@style/ActionBar"> 
     <item name="android:background">@color/black</item> 
     <item name="android:actionMenuTextColor">#FF00FF</item> 
</style> 

行動吧,我能夠改變的背景下,而不是在操作欄項目的文本顏色。我該怎麼做?

編輯:

我試過幾乎所有的屬性android:action,我發現,但我不能設法改變除背景外什麼。以下代碼只有第一個<item name="android:background">#FF0000</item>對我的代碼進行了更改。無論我將哪種價值觀放在測試風格上,它都不會改變任何東西。爲什麼會發生?

<item name="android:actionBarStyle">@style/ActionBar.Light</item> 

<style name="ActionBar.Light" parent="@style/ActionBar"> 
     <item name="android:background">#FF0000</item> 
     <item name="android:actionMenuTextColor">@style/Test</item> 
     <item name="android:actionButtonStyle">@style/Test</item> 
     <item name="android:actionModeBackground">@style/Test</item> 
     <item name="android:actionMenuTextAppearance">@style/Test</item> 
    </style> 

    <style name="Test"> 
     <item name="android:textColor">@color/white</item> 
     <item name="android:background">#FF0000</item> 
    </style> 

回答

13

如果你想改變菜單項的顏色你必須設置你的主題風格actionMenuTextColor操作欄。

<style name="PortfolioTheme" parent="android:style/Theme.Holo.Light"> 
    <item name="android:actionMenuTextColor">#24598a</item> 
    <item name="actionMenuTextColor">#24598a</item> 
</style> 

您沒有在actionMenuTextAppearance中定義菜單項顏色!

+0

你好,我試過這個解決方案。它更改操作欄中的菜單項顏色。但是子菜單項可能不會改變。我該怎麼做才能改變顏色或子菜單項。 – Dory

+0

嗨,你可能在談論改變溢出菜單風格。我對解決方案並不十分確定,但請嘗試檢查以下鏈接: https://groups.google.com/forum/?fromgroups=#!topic/actionbarsherlock/5lHOKNlXn_4 http://stackoverflow.com/問題/ 14859794/actionbar-styled-overflow-menu-items – Tooroop

+0

這是爲我做的sh * t。它也適用於ActionBarCompat(Android版v7支持包)。通過支持包快速查看爲ActionBarCompat提供的資源文件,也確認了'actionMenuTextColor'屬性。 – dbm

0

您可以通過改變顏色: -

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<style name="MyTheme" parent="@android:style/Theme.Holo.Light"> 
<item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item> 
</style> 

<style name="MyTheme.ActionBarStyle" parent="android:style/Widget.Holo.ActionBar"> 
<item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item> 
</style> 

<style name="MyTheme.ActionBar.TitleTextStyle" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title"> 
<item name="android:textColor">@color/red</item> 
</style> 
</resources> 
+0

沒有在這裏工作。這個android:titleTextStyle完全不影響我的代碼,儘管我已經嘗試過了。 –

+0

我想這只是爲應用程序的標題,而不是itens的標題。 –

+2

可能是這個鏈接給你一些幫助... http://actionbarsherlock.com/theming.html – user755278