Andoid 菜單項沒辦法小寫(自動大寫)

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>

解決了!~
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章