【问题标题】:Applying shadow and text color for Title and Menu Item in Sherlock Action bar为 Sherlock 操作栏中的标题和菜单项应用阴影和文本颜色
【发布时间】:2012-07-17 11:49:43
【问题描述】:

我正在努力实现两件事

  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>
    

【问题讨论】:

    标签: android android-actionbar actionbarsherlock


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      要更新菜单项文本外观(颜色、大小、样式),您需要在两个不同的位置进行更改。以下答案适用于 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>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-08-03
        • 1970-01-01
        • 2012-07-21
        • 2013-01-30
        • 2012-07-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多