2012-02-25 80 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