2014-05-18 49 views
0

enter image description here我看到很多帖子,但無法弄清楚爲什麼溢出圖標不顯示。我正在測試真實設備Android 4.4。當按下選項按鈕時,我會看到顯示在屏幕底部的項目。但我需要它在Top App中顯示爲3點菜單,就像在Gmail應用程序中一樣。 Pl幫助。當點擊選項按鈕時,需要像附加的Tubemate應用程序的圖片。溢出圖標3點不出現

menu.xml文件

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
<!--xmlns:com.app.MainActivity="http://schemas.android.com/apk/res-auto"--> 

    <item 
    android:id="@+id/action_search" 
    android:actionViewClass="android.widget.SearchView" 
    android:icon="@drawable/icon_search" 
    android:orderInCategory="1" 
    android:title="search" 
    android:showAsAction="never"/> 
<item 
    android:id="@+id/action_end" 
    android:icon="@drawable/end" 
    android:menuCategory="container" 
    android:orderInCategory="2" 
    android:title="@string/end" 
    android:showAsAction="never"/> 

</menu> 

MainActivity:

@Override 
public boolean onPrepareOptionsMenu(Menu menu) 
{ menu.clear(); 

this.menu = menu; 
getMenuInflater().inflate(R.menu.main, menu); 
MenuItem searchItem = menu.findItem(R.id.action_search); 
    return super.onPrepareOptionsMenu(menu); 
    } 
@Override 
public boolean onOptionsItemSelected(MenuItem item) { 

     super.onOptionsItemSelected(item); 
    switch (item.getItemId()) { 
    case R.id.action_end: 
     System.exit(0); 
     break; 
    case R.id.action_search: 
     break; 
    default: 
     break; 
    } 
    return false; 
} 
+0

做奧尤看到按硬件菜單按鈕的項目? – Raghunandan

+0

是的,我確實看到他們。 – Siju

+0

然後它按照它應該的方式工作。別擔心。 – Raghunandan

回答

1

溢出菜單隻會出現在沒有物理菜單按鈕的設備。在具有物理菜單按鈕的設備中,它將從底部出現。

要強制溢出菜單,把這段代碼裏面的onCreate

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(); 
} 
} 

Source

+0

這是否是正確的方式?甚至像Gmail這樣的應用程序是否遵循這段代碼?是否不顯示沒有此代碼的3點? – Siju

+0

在具有菜單按鈕的設備中,您需要此代碼。不知道gmail應該做些什麼 – fida1989

+0

你的解決方案效果很好,我希望這不會對4.4以下的設備造成任何兼容性問題,是嗎?我接受你的答案。謝謝 :) – Siju