Android Change Action Bar菜单文本

时间:2015-05-25 13:57:46

标签: android android-layout android-activity android-actionbar

我是Android新手,我在Android操作栏菜单文本是大写形式,但我想要文本Change#0333,就像我在下面的示例图片中描述的那样。请问我该怎么做到这一点?感谢。

enter image description here

这是我的代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);

    menu.getItem(0).setTitle("change#0" + defaultmsisdn.substring(2));

    return true;
}

这是res / menu文件夹中的main.xml文件:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.ufoneselfcare.MainActivity" >

<item
    android:id="@+id/change_number_menu"
    android:orderInCategory="100"
    android:title="@string/action_settings"
    app:showAsAction="always|withText"/>

</menu>

2 个答案:

答案 0 :(得分:2)

在您应用的主题(styles.xml)中,您将拥有一个可自定义的应用主题。空白的可能看起来有点像这样:

<style name="MyTheme" parent="Theme.AppCompat.Light">

</style>

为了获得小写菜单项,您需要做的是使用属性actionMenuTextAppearance,因此使用上面的示例,您将得到类似这样的内容:

<style name="MyTheme" parent="Theme.AppCompat.Light">
    <item name="android:actionMenuTextAppearance">@style/MyMenuTextAppearance</item>
</style>

<style name="MyMenuTextAppearance" parent="TextAppearance.AppCompat.Widget.ActionBar.Menu">
    <item name="android:textAllCaps">false</item>
</style>

答案 1 :(得分:1)

试试这个并希望它有效:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);

menu.getItem(0).setTitle(Html.fromHtml( "<u>change#0" + defaultmsisdn.substring(2)+"</u>"));

return true;
}