2013-07-12 32 views
1

本質上,我很困惑在何時以及如何在Android設備3.0及更高版本上顯示帶菜單按鈕和不帶菜單按鈕的設備。如何在具有菜單按鈕功能的設備上執行操作欄

專注於選項菜單,我從閱讀中瞭解到,選項菜單在onCreateOptionsMenu中顯示(無論是通過菜單按鈕還是操作欄),Google開發人員網站指出「選項菜單中的項目出現在屏幕上取決於您開發的版本',即底部菜單或操作欄。

我試過Nexus 4和三星手機上的幾個應用程序(例如gmail),都與果凍豆。 Nexus沒有菜單按鈕,gmail在操作欄中顯示選項菜單。在三星有一個菜單按鈕,沒有操作欄,你必須按菜單。

是由Android自動處理的選項菜單,還是有一些代碼在應用程序內進行確定是否存在菜單按鈕?

此外,讓我更加困惑的是(即與這種想法相矛盾),Android開發人員網站說,如果您使用Theme.Holo,您會得到一個操作欄,它告訴我這並不隱含如何顯示操作欄。

感謝您的任何指導。

+0

這有幫助嗎? [ViewConfiguration.get(上下文).hasPermanentMenuKey()] [1] [1]:http://stackoverflow.com/questions/9044907/android-programatically-detect-if-device-has-hardware -menu按鈕 – Elist

回答

1

如果你想檢查設備是否具有軟鍵使用hasPermanentMenuKey使用

boolean hasMenuKey = ViewConfiguration.get(context).hasPermanentMenuKey(); 

如果返回true,這意味着你不必軟鍵。

如果猜測大多數android應用程序都有某種內置的功能來做類似的檢查並確定是否需要菜單。

0

正常情況下,從Android 4.0開始,嵌入到ActionBar和菜單按鈕的菜單選項被刪除,但沒有必要只是可選的,你必須在你的代碼中處理它以向用戶顯示 對於三星上的菜單按鈕,僅在三星型號中才有,因爲如果您可以查看其他設備製造商的新型號,則根本沒有菜單按鈕。 Samsung將操作欄中的選項按鈕移至菜單按鈕(硬件按鈕)。

相關問題