2012-09-09 45 views
4

我有一個谷歌Nexus 7平板電腦,運行Android 4.1.1,我似乎無法讓我的應用程序顯示一個垂直的小「三個小方塊在右下方的「行」符號表示有一個可用的選項菜單。我的版本面向2.3.3,將在其他設備(2.3.3手機和4.0.3手機)上顯示選項菜單,但不會顯示在Nexus 7上。爲了說明問題,我使用Eclipse構建了一個裸機「Hello World」,它帶有一個選項菜單項「Settings」,並且還構建了Android-10 SDK中的BluetoothChat示例。準系統沒有菜單符號,而BluetoothChat則沒有。看看每個代碼,我看不出菜單在建設和通貨膨脹方面的差異,所以我希望有人有一些想法。好菜單圖標:http://i.imgur.com/31Wop.jpg沒有菜單圖標:http://i.imgur.com/9Vj3e.jpg選項菜單不會顯示在Android 4.1.1

+0

請張貼您的清單。我的聯繫7上的 – CommonsWare

回答

15

發現問題。在清單我

<uses-sdk 
    android:minSdkVersion="10" 
    android:targetSdkVersion="15" /> 

更改,要

<uses-sdk 
    android:minSdkVersion="10" 
    android:targetSdkVersion="10" /> 

固定的問題,現在的動作條出現的菜單按鈕。該BluetoothChat樣品的工作,因爲它的清單省略targetSdkVerion:

<uses-sdk minSdkVersion="6" /> 
+0

菜單顯示在屏幕的頂部。是否可以在屏幕底部顯示它?像在你的屏幕截圖http://i.imgur.com/31Wop.jpg – Charles

+0

@Charles:我認爲菜單圖標的位置由操作系統決定。在我的應用程序中,它只會自動出現在Nexus 7屏幕的底部。你有沒有創建一個應用程序出現在頂部? –

+0

我實際上倒置了android:minSdkVersion和android:targetSdkVersion。現在沒關係,謝謝:) – Charles

0

從什麼我的測試表明,可以用兩個的minSdkVersion和targetSdkVersion即使有不一樣的堅持。只要Project Build Target(在項目屬性中定義)具有與minSdkVersion相同的值。對我而言,我想要2.2版本的舊菜單,但新版本(在標題欄中)爲3.0或更高版本。

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="17" /> 

在項目屬性:

# Project target. 
target=android-8 

似乎通過展示舊的選項菜單的底部(或菜單按鈕)在我的2.2和2.3虛擬設備和顯示新的一個工作在我的3.0,4.0和4.2虛擬和物理設備上。

+0

不幸的是,Nexus 7似乎並不適用。我的應用程序存在上述相同的問題,並且使用您描述的確切選項無法解決此問題。然而,@JohnJorsett給出的解決方案確實解決了這個問題。 – Chris

0

做一些類似於Android 4.0以及顯示選項菜單
getWindow()。requestFeature(Window.FEATURE_ACTION_BAR);