更改标题文本的颜色和菜单的Andr​​oid操作栏的大小菜单、文本、大小、颜色

2023-09-12 03:07:19 作者:何以陌相离

我正在开发的Andr​​oid应用程序,并在我的应用我使用夏洛克行动起来吧。我使用的一些菜单进入我的行动吧。

I am developing android application and in my application I am using Sherlock action bar. I am using some menu into my action bar.

<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>

和我显示此菜单到像我这样的活动。

and I display this menu into my activity like this..

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

现在我想要做的是我要改变我的菜单项(C123)我的标题颜色。我能够从风格转换的子菜单的颜色,但不能更改项目文本。 我在下面的方法试了这一点。

now what I want to do is I want to change my title color of my menu item (c123). I am able to change color of sub menu from style but not able to change of that item text. I tried this in following way.

// 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>  

我想修改该菜单项的风格改变颜色和文字的大小,也背景的。如何做到这一点。需要帮忙.. 谢谢。

I want to modify that menu item style change color and size of text and also background of that. How to do that. Need help.. Thank you..

推荐答案

您可以轻松地通过使用 SpannableString 而不是字符串

You can change the color of the MenuItem text easily by using SpannableString instead of String.

@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);
}
 
精彩推荐
图片推荐