2015-02-11 64 views
1

預計:如何自定義操作欄操作項?

enter image description here

但行動項目出現與使用大寫字母:

enter image description here

我試過沒有成功伴奏演奏。這裏一個版本:

<!-- Base application theme. --> 
    <style name="MyTheme" parent="Theme.AppCompat.Light"> 
     <item name="colorPrimary">@android:color/white</item> 
     <item name="colorPrimaryDark">@android:color/white</item> 
     <item name="android:textAllCaps">false</item> 
     <item name="android:capitalize">none</item> 
     <item name="android:windowNoTitle">true</item> 
     <item name="android:actionButtonStyle">@style/ActionButton</item> 
     <item name="android:textAppearance">@style/Text</item> 
     <item name="android:actionMenuTextAppearance">@style/ActionMenu</item> 
     <item name="windowActionBar">false</item> 

    </style> 

    <style name="ActionButton" parent="Base.Widget.AppCompat.ActionButton"> 
     <item name="textAllCaps">false</item> 
    </style> 

    <style name="ActionMenu" parent="Base.TextAppearance.AppCompat.Widget.ActionBar.Menu"> 
     <item name="textAllCaps">false</item> 
    </style> 

    <style name="Text" parent="TextAppearance.AppCompat"> 
     <item name="textAllCaps">false</item> 
    </style> 

</resources> 

菜單:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto"> 

    <item 
     android:id="@+id/action_item" 
     android:title="action item" 
     app:showAsAction="always" /> 
</menu> 

佈局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:background="@android:color/darker_gray" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 
     </android.support.v7.widget.Toolbar> 

</LinearLayout> 

誰真正知道什麼屬性應該被改變,以獲得期望的結果?

+0

的Android將任何文本在那裏成大寫字母,它不能改變。但是,如果想要那裏的小字母,然後手動創建一個文本和與ActionBar相同的背景顏色的圖像。 – Apurva 2015-02-11 17:44:11

回答

3

你可以試試這個方法,使文本佈局你的菜單標題:

<?xml version="1.0" encoding="utf-8"?> 
    <menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto"> 

    <item 
    android:id="@+id/action_item" 
    app:actionLayout="@layout/action_title" 
    app:showAsAction="always" /> 
</menu> 

佈局action_title

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    > 

    <TextView 
     android:id="@+id/action_title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"  

     android:text="action item" 
     android:textSize="10sp" 
     android:textColor="@color/black" 
    /> 
</LinearLayout> 

現在action title應該表現出你所付出的

+0

你能確認這個作品嗎?這太奇怪了!我一直在努力爭取actionLayout的工作,但絕對不能在運行棒棒糖的Nexus5上運行。菜單項只顯示爲文本,我完全無法得到它的榮譽佈局!我會在[希望]幾天內發佈我的代碼的簡化版本。 – swooby 2015-02-21 01:46:54

+0

是的我的應用程序使用這種方式,工作正常。希望看到你的代碼 – Xcihnegn 2015-02-21 10:38:37

+0

我已經上傳了一個新的項目,在這裏重現我的問題:https://github.com/paulpv/ToolbarSwitch我在什麼地方間隔導致交換機不顯示?我知道我在成功使用工具欄之前完成了這個工作。 – swooby 2015-02-22 17:09:32