2013-06-28 63 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