在Sherlock操作栏中为标题和菜单项应用阴影和文本颜色

Sid*_*non 6 android actionbarsherlock android-actionbar

我正在努力实现两件事

  1. 菜单项的白色文本,标题文本颜色有效
  2. 标题和菜单项的文本阴影

所有这些都在XML上.

什么在实验后有用?

  1. 自定义操作栏布局适用于阴影.
  2. 所有Tiles的文本颜色都有效但文本阴影无效
  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>
    
    Run Code Online (Sandbox Code Playgroud)

小智 12

要更改菜单项文本颜色,您需要将actionMenuTextColor项添加到主题样式中,如下面的代码所示:

<style name="ThemeName" parent="@style/Theme.Sherlock.Light">
    <item name="actionMenuTextColor">@color/white</item>
    <item name="android:actionMenuTextColor">@color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)