2014-10-07 43 views
0

基本上我膨脹的菜單Actionbarsherlock 3點

public boolean onPrepareOptionsMenu(Menu menu) { 
    menu.clear(); 
    globalMenu = menu; 
    getSupportMenuInflater().inflate(R.layout.menu_refresh, menu); 
    return super.onPrepareOptionsMenu(menu); 
} 

menu.xml文件

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item 
     android:id="@+id/menu_refresh" 
     android:showAsAction="never" 
     android:title="@string/refresh"/> 
    <item 
     android:id="@+id/menu_24hours" 
     android:showAsAction="never" 
     android:title="@string/twentyfour_hours"/> 
    <item 
     android:id="@+id/menu_1week" 
     android:showAsAction="never" 
     android:title="@string/one_week"/> 
    <item 
     android:id="@+id/menu_1month" 
     android:showAsAction="never" 
     android:title="@string/one_month"/> 
    <item 
     android:id="@+id/menu_3month" 
     android:showAsAction="never" 
     android:title="@string/three_month"/> 
    <item 
     android:id="@+id/menu_6month" 
     android:showAsAction="never" 
     android:title="@string/six_month"/> 

</menu> 

發生了什麼,是他們沒有表現出對3點你有format.In冰淇淋三明治點擊硬件上的按鈕菜單,在nexus它顯示3個點.. 我需要無處不在,它有3個點,沒有設備的唯一性。

但是,如果我這樣做在我的菜單...

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:id="@+id/menu_refresh" 
     android:showAsAction="always" 
     android:icon="@drawable/ic_action_refresh_default" /> 
</menu> 

這顯示了在頂部actionbardsherlock,在所有設備上。沒有菜單硬件密鑰。

+0

看到這個答案:http://stackoverflow.com/a/18530179/362298 – 2014-10-07 07:55:52

回答

1

嘗試創建具有3個點作爲圖標的虛擬操作按鈕。如果我需要在所有設備上顯示3點按鈕(特別是具有硬件菜單鍵的三星設備),我會這樣做。 請注意,這實際上是一個黑客

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
<item 
    android:id="@+id/menu_dummy_overflow" 
    android:icon="@drawable/ic_action_ic_overflow" 
    android:showAsAction="always" 
    android:title="@string/more"> 
    <menu> 
     <item 
      android:id="@+id/menu_open_browser" 
      android:icon="@drawable/ic_action_ic_browser" 
      android:showAsAction="never" 
      android:title="@string/opeinInBrowser"> 
     </item> 
    </menu> 
</item> 
</menu> 
0

這是由正在運行的Android操作系統版本決定的。壞消息是,這意味着你幾乎無法控制它。好消息是,這意味着用戶將在手機上的每個應用中看到相同的行爲,因此無論如何他們都會期待。

您可以通過手動將溢出項添加到菜單並將溢出項放入該項的子菜單中來模擬行爲。這個缺點是你顯示的項目數量是固定的。在橫向模式下,您無法獲得平板電腦的好處,並在ActionBar中顯示更多項目