2012-07-17 24 views
6

我想实现两件事情申请标题阴影和文本颜色和菜单项夏洛克行动吧

  1. 菜单项的白色文字,标题文字色彩的作品
  2. 文本阴影的标题和菜单项

所有这一切都在XML上。

实验后,什么可以起作用?

  1. 自定义操作栏布局工作得很好,阴影。
  2. 所有瓷砖的文字颜色均有效,但文字阴影无效
  3. 菜单项的文字颜色对任何地方都没有影响。在示例代码中,当我在主Theme标签中声明MenuTextStyle时,我可以更改文本大小而不是颜色。

    <style name="Theme.SexyApp" parent="Theme.Sherlock.Light"> 
        <item name="actionBarStyle">@style/Widget.SexyApp.ActionBar</item> 
        <item name="android:actionBarStyle">@style/Widget.SexyApp.ActionBar</item> 
        <item name="android:actionBarItemBackground">@drawable/list_state</item> 
        <item name="actionBarItemBackground">@drawable/list_state</item> 
        <item name="android:actionMenuTextAppearance">@style/Theme.SexyApp.ActionBar.MenuTextStyle</item> 
        <item name="actionMenuTextAppearance">@style/Theme.SexyApp.ActionBar.MenuTextStyle</item> 
    
    
    </style> 
    
    <style name="Widget.SexyApp.ActionBar" parent="@style/Widget.Sherlock.Light.ActionBar"> 
        <item name="android:displayOptions">showHome|useLogo|showTitle</item> 
        <item name="android:titleTextStyle">@style/Theme.SexyApp.ActionBar.TextAppearance</item> 
        <item name="titleTextStyle">@style/Theme.SexyApp.ActionBar.TextAppearance</item> 
    </style> 
    
    <style name="Theme.SexyApp.ActionBar.TextAppearance" parent="@style/TextAppearance.Sherlock.Widget.ActionBar.Title"> 
        <item name="android:textColor">@color/white</item> 
        <item name="android:textSize">20dp</item> 
        <item name="android:textStyle">bold</item> 
        <item name="android:shadowColor">#333333</item> 
        <item name="android:shadowRadius">1</item> 
        <item name="android:shadowDy">1</item> 
    </style> 
    
    <style name="Theme.SexyApp.ActionBar.MenuTextStyle" parent="@style/TextAppearance.Sherlock.Widget.ActionBar.Menu"> 
        <item name="android:textColor">@color/white</item> 
        <item name="android:textSize">13dp</item> 
        <item name="android:textStyle">bold</item> 
        <item name="android:shadowColor">#333333</item> 
        <item name="android:shadowRadius">1</item> 
        <item name="android:shadowDy">1</item> 
    </style> 
    

回答

12

要更改菜单项文本的颜色,你需要将actionMenuTextColor项目添加到您的主题风格,如下面的代码:

<style name="ThemeName" parent="@style/Theme.Sherlock.Light"> 
    <item name="actionMenuTextColor">@color/white</item> 
    <item name="android:actionMenuTextColor">@color/white</item> 
</style> 
1

更新菜单项文本外观(颜色,大小,风格)你需要在两个不同的地方进行更改。以下的答案必须是sherlock.actionbar

1:在你的themes.xml文件中添加以下行:

<style name="Theme.Mytheme" parent="@style/Theme.Sherlock"> 
    <item name="android:actionMenuTextAppearance">@style/CustomMenuItem</item> // define custom style in the style.xml file. 
    <item name="actionMenuTextColor">@color/mycolor</item>  
    <item name="android:actionMenuTextColor">@color/mycolor</item> 

2:在您的styles.xml

<style name="CustomMenuItem" parent="@style/TextAppearance.Sherlock.Widget.ActionBar.Menu"> 
    <item name="android:textStyle">normal</item> 
    <item name="android:textSize">15sp</item> 
    <item name="android:textAllCaps">false</item> 
</style>