2012-02-25 72 views
1

我試圖做一個時尚的選項菜單中與文本和圖標接近這個:安卓:選項菜單不正常工作

,但我仍然得到這樣的:

http://img651.imageshack.us/img651/3007/resultax.th.png

這裏是我的代碼:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.actionb_menu, menu); 

    return true; 
} 

actionb_menu.xml

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item 
     android:id="@+id/item1" 
     android:title="ajouter" 
     android:icon="@drawable/ic_action_plus" > 

    </item> 
    <item 
     android:id="@+id/item2" 
     android:title="rechercher" 
     android:icon="@drawable/ic_action_loupe"> 

    </item> 
    <item 
     android:id="@+id/item3" 
     android:title="editer" 
     android:icon="@drawable/ic_action_crayon"> 

    </item> 
    <item 
     android:id="@+id/item4" 
     android:title="supprimer" 
     android:icon="@drawable/ic_action_poubelle" > 

    </item> 
    <item 
     android:id="@+id/item5" 
     android:title="à propos" 
     android:icon="@drawable/ic_action_poubelle"> 

    </item> 
    <item 
     android:id="@+id/item6" 
     android:title="Quitter" 
     android:icon="@drawable/call">   
    </item> 

</menu> 

任何人都可以幫忙嗎?任何想法提示?

+0

這可能與您正在編譯的版本有關(我假設有14+版本?)您將獲得的是新的首選方式,其中Android要求您爲圖標和溢出菜單分配一個ActionBar像這樣出現。它看起來好像你基本上試圖複製操作欄。你有沒有看過使用ActionBarSherlock? – Navarr 2012-02-25 23:10:22

+0

@Navarr不,我沒有看着使用ActionBarSherlock,我會馬上去做。 – Hosni 2012-02-25 23:18:52

+0

@Navarr如果有一個溢出菜單的解決方案,它肯定會有助於聽到它。感謝您的回答。 – Hosni 2012-02-25 23:19:27

回答

1

雖然這不是對您的具體問題的實際答案,但您可以嘗試以不同的方式進行。

你得到的是Android ICS設備的新選項菜單。你要說的是Pre-Honeycomb設備的老式選項菜單。然而,Android正試圖逐步淘汰這一點,並與菜單按鈕一起使用。

相反,建議您使用ActionBar。 The design details of the Action Bar are covered heavily on the Android Design website.

這會將您的按鈕向上移動到頂欄,因爲它看起來像您已經試圖從您的屏幕截圖中執行。您可以通過難以執行的步驟(我不知道)對新設備使用ActionBar,併爲較舊的設備執行其他操作 - 或者您可以使用ActionBarSherlock對所有Android設備使用ActionBar。 ActionBarSherlock's website has more details and instructions for setting it up,他們的github已經使用了它的代碼和樣本。

如果您想要做的是真正獲得舊式菜單,則可以將您的TargetBuild更改爲較小的Android版本。這通常在您的項目的屬性中完成。

+0

我改變了有針對性的ICS,它的工作。稍後我會嘗試實現ActionBarScherlock。感謝您的幫助。 – Hosni 2012-02-26 01:24:35

0

你所看到的是如何設置菜單出現在ICS Android 4.0上。

檢查您的目標平臺並將其更改爲2.3.3。

+0

你能告訴我更多關於它嗎? – Hosni 2012-02-25 23:25:43

0

嘗試將onCreateOptionsMenu執行中的return true替換爲return super.onCreateOptionsMenu(menu)。該方法應該向上連鎖。

+0

仍然得到相同的結果 – Hosni 2012-02-25 23:25:01