我是Android新手,我在Android操作栏菜单文本是大写形式,但我想要文本Change#0333
,就像我在下面的示例图片中描述的那样。请问我该怎么做到这一点?感谢。
这是我的代码:
@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>
答案 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;
}