20140621,終於解決了.
參考地址:
http://stackoverflow.com/questions/17044790/android-actionbar-menuitem-lowercase
原文問題:
I want to make MenuItem title in the ActionBar to LowerCase.
我想要標題欄中的菜單顯示小寫字符.
my menu.xml
<item android:id="@+id/register"
android:title="Register"
android:showAsAction="ifRoom|withText"/>
<item android:id="@+id/unregister"
android:title="Unregister"
android:showAsAction="ifRoom|withText"/>
On the ActionBar it sees "REGISTER" and "UNREGISTER", but I want that it sees as "Register" and "Unregister".
我想要顯示 "Register",但實際上顯示的是"REGISTER",
Is it possible to make first letter upper and next letters lower at MenuItem? And how I can do that?
有辦法讓菜單顯示小寫麼?
Solution for native ActionBar implementation:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyTheme" parent="android:Theme.Holo">
<item name="android:actionMenuTextAppearance">@style/MyMenuTextAppearance</item>
</style>
<style name="MyMenuTextAppearance" parent="android:TextAppearance.Holo.Widget.ActionBar.Menu">
<item name="android:textAllCaps">false</item>
</style>
</resources>
If you are using ActionBarSherlock there are two different approaches:
1) Create boolean resource abs__config_actionMenuItemAllCaps
and
set it to false
:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="abs__config_actionMenuItemAllCaps">false</bool>
</resources>
2) Or create theme with overriden actionMenuTextAppearance
and
use it in AndroidManifest.xml
:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyTheme" parent="Theme.Sherlock">
<item name="actionMenuTextAppearance">@style/MyMenuTextAppearance</item>
<item name="android:actionMenuTextAppearance">@style/MyMenuTextAppearance</item>
</style>
<style name="MyMenuTextAppearance" parent="TextAppearance.Sherlock.Widget.ActionBar.Menu">
<item name="android:textAllCaps">false</item>
</style>
</resources>
這個問題我查了兩天,大概這個方法:
1.程序使用自定義主題
<application android:theme="@style/my_theme" >
2.設置自定義主題的ActionBar的菜單不自動大寫
<style name="rav_theme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionMenuTextAppearance">@style/MyMenuTextAppearance</item>
</style>
<style name="MyMenuTextAppearance" parent="android:TextAppearance.Holo.Widget.ActionBar.Menu">
<!-- 此處需要 android-14 -->
<item name="android:textAllCaps">false</item>
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
舊帖子:
碰到一個問題,Andoid 菜單欄 標題沒辦法小寫:
MenuItem person = menu.findItem(R.id.menu_person);
person.setTitle("person");
但實際運行時顯示的是"PERSON".不知道怎麼解決.
追加
當菜單項以以下方式顯示時不會自動大寫:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
當以以下方式顯示時則會自動大寫: <item
android:id="@+id/action_settings2"
android:orderInCategory="100"
android:showAsAction="always|withText"
android:title="@string/action_settings"/>
</menu>
解決了!~