2012-07-06 42 views
0

如果帶有操作欄的應用程序在平板電腦上運行 - 右側有菜單按鈕。但在智能手機上,這個按鈕不顯示,因爲設備有一個硬件菜單按鈕,我想。 我需要在我的代碼中強制類似的行爲才能在平板電腦上顯示我的自定義菜單按鈕,並且不會在智能手機上顯示它?是真的? 我不想使用操作欄操作欄如何檢測菜單按鈕必須顯示的位置

感謝

+0

檢查這個問題:http://stackoverflow.com/questions/9044907/android-programatically -detect-if-device-has-hardware-menu-button#answer-9481965但它只適用於API> = 14 – Rendy 2012-07-06 08:32:52

+0

是的,我知道這個函數,我使用api 13 – Dmitry 2012-07-06 17:53:31

回答

0

可以檢查該設備是平板電腦或smarphone,和膨脹只有當設備是平板選項菜單。

假設您有一個方法isTablet(),如果設備是平板電腦,則返回true。 然後,只有在isTablet()返回true時,您才需要覆蓋onCreateOptionMenu()並充氣菜單。

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    if(isTablet()){ 
     menuInflater.inflate(R.menu.menu_tablet, menu); 
     return super.onCreateOptionsMenu(menu); 
    }else{ 
     // do nothing 
     return true 
    }  
} 

如何確定設備是否提交或電話,你需要挖掘這篇文章:http://developer.android.com/guide/practices/screens_support.html