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>
解決了!~