2013-06-28 61 views
4

我在操作栏 5-6项。当我设置ShowAsAction = "never",该项目进入,从屏幕的底部,而我想要的三点风格的图标出现在操作栏出现的旧风格的菜单。另外当我点击它时,菜单不会出现。溢出没有出现在动作条

我的菜单文件 -

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
<item 
    android:id="@+id/About" 
    android:title="About" 
    android:orderInCategory="1" 
    android:showAsAction="always"/> 


<item 
    android:id="@+id/Settings" 
    android:title="settings" 
    android:orderInCategory="2" 
    android:showAsAction="always"/> 

<item 
    android:id="@+id/item3" 
    android:title="Item3" 
    android:icon="@drawable/ic_launcher" 
    android:orderInCategory="3" 
    android:showAsAction="always"/> 
<item 
    android:id="@+id/item4" 
    android:title="Item3" 
    android:icon="@drawable/ic_launcher" 
    android:orderInCategory="4" 
    android:showAsAction="always"/> 

<item 
    android:id="@+id/item5" 
    android:title="Item3" 
    android:icon="@drawable/ic_launcher" 
    android:orderInCategory="5" 
    android:showAsAction="never"/> 

<item 
    android:id="@+id/item6" 
    android:title="Item3" 
    android:icon="@drawable/ic_launcher" 
    android:orderInCategory="6" 
    android:showAsAction="never"/> 

</menu> 
+2

你的设备上有一个硬的菜单按钮? – codeMagic

+0

是的,我有硬菜单按钮 – Priyesh

+0

然后看到我的回答 – codeMagic

回答

10

如果您的设备在坚硬的菜单按钮,然后不适合在ActionBar菜单选项将被放置在设备的菜单按钮。如果你有没有这个按钮,然后它们将被放置在溢出菜单较新的设备(3个垂直圆点)

Creating an Options Menu

我创建了一个自定义的layout自定义ActionBar,这样我可以有相同所有设备的外观和功能。如果这是你想要的,你可以考虑做同样的事情。

+0

thnx的帮助 – Priyesh

+0

不客气。对不起,这不可能是你可能要找的答案 – codeMagic

+0

感谢你的回答,我一直在寻找很多时间来解决这个问题。我正在使用android-sherlockBar。我的设备上有菜单按钮。但正如我从其他应用程序中看到的那样,即使我拥有此按钮,也会显示3点状的菜单。 – idish

5

巢菜单下面的方法,你会得到溢出图标,也下拉,如果你指定的图标。

<item 
    android:id="@+id/empty" 
    android:icon="@drawable/ic_action_overflow" 
    android:orderInCategory="101" 
    android:showAsAction="always"> 
    <menu> 
     <item 
      android:id="@+id/action_show_ir_list" 
      android:icon="@drawable/ic_menu_friendslist" 
      android:showAsAction="always|withText" 
      android:title="List"/> 
    </menu> 
</item> 

8

的Android禁用显示了在其具有物理菜单按钮, 一些你们谁仍然希望IT设备的菜单图标,这里是一个解决方案:

添加此功能到您的活动:

private void forceShowActionBarOverflowMenu() { 
    try { 
     ViewConfiguration config = ViewConfiguration.get(this); 
     Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey"); 
     if (menuKeyField != null) { 
      menuKeyField.setAccessible(true); 
      menuKeyField.setBoolean(config, false); 
     } 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

,最后添加“forceShowActionBarOverflowMenu();”在您的活动中的onCreate()中的setContentView()之后。

+0

这就像一个魅力!谢谢! – xzibit