android - 更改菜单android操作栏的标题文本颜色和大小

标签 android android-actionbar submenu textcolor

我正在开发 android 应用程序,并且在我的应用程序中我正在使用 Sherlock 操作栏。我在操作栏中使用了一些菜单。

<menu xmlns:android="http://schemas.android.com/apk/res/android">

<item android:id="@+id/card_menu"
      android:title="C123" 
      android:showAsAction="always">
    <menu>
        <item android:id="@+id/C0"
              android:title="C0"/>
        <item android:id="@+id/c1"
              android:title="c1" />
        <item android:id="@+id/c2"
              android:title="c2" />
    </menu>
    </item>
<item android:id="@+id/notification"
  android:title="Notifications"
  android:showAsAction="always"
  android:actionLayout="@layout/notification_icon"
  android:icon="@drawable/notification"
  />
<item android:id="@+id/filter"
  android:icon="@drawable/filter"
  android:title="Filter" 
  android:showAsAction="always"
  />

</menu>

然后我将这个菜单显示到我的 Activity 中......

inflater.inflate(R.menu.menu_type2, menu);

现在我想做的是更改菜单项 (c123) 的标题颜色。我可以从样式更改子菜单的颜色,但不能更改该项目的文本。 我按照以下方式尝试了这个。

// this change my sunbmenu text color but I am not able to change color of item text(c123)
<item name="android:dropDownListViewStyle">@style/MyPopupMenu</item>
<item name="dropDownListViewStyle">@style/MyPopupMenu</item>

<style name="MyPopupMenu" parent="Widget.Sherlock.ListPopupWindow">
 <item name="android:textAppearance">@style/TextAppearance.Sherlock.Widget.PopupMenu</item>
 <item name="android:dropDownSelector">@color/white</item>
 <item name="android:dividerHeight">@dimen/divider_height</item>
 <item name="android:divider">@color/maroon</item>

</style>

<style name="TextAppearance.Sherlock.Widget.PopupMenu" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Menu">
 <item name="android:textColor">@color/white</item>
</style>  

我想修改菜单项样式更改文本的颜色和大小以及它的背景。怎么做。需要帮忙.. 谢谢..

最佳答案

您可以使用 SpannableString 而不是 String 轻松更改 MenuItem 文本的颜色。

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.your_menu, menu);

    int positionOfMenuItem = 0; // or whatever...
    MenuItem item = menu.getItem(positionOfMenuItem);
    SpannableString s = new SpannableString("My red MenuItem");
    s.setSpan(new ForegroundColorSpan(Color.RED), 0, s.length(), 0);
    item.setTitle(s);
}

关于android - 更改菜单android操作栏的标题文本颜色和大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14873975/

相关文章:

javascript - polymer 核心子菜单不显示子菜单,仅显示其项目

java - android中的路径交叉点

android - 可以使用传递参数通过 NFC 启动 android 应用程序

java - 通过可分割的槽 Activity 获取特定领域

android - 在操作栏中实现 SearchView

android - 如何在 appbarlayout 中制作带有圆角和高度的工具栏?喜欢这张照片

android - 任务 :app:uploadCrashlyticsMappingFileRelease FAILED Expected file collection to contain exactly one file, 但是,它不包含文件

android - QTabWidget 改变底线颜色

android - 从抽屉导航子菜单中删除小节和

android - 如何使用 4.0.3 SDK 在 Activity 底部创建菜单栏