2014-02-27 39 views
1

使用appcompat v7在我的Android項目上呈現操作欄。這對於4.x版本非常適用,但是選項菜單(僅限於選項菜單)不適用於2.x.x版本。問題是什麼?Android選項菜單未在API 2.x.x上顯示

我list_team.xml

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

<item 
    android:id="@+id/action_profile" 
    android:title="@string/menu_label_profile" 
    android:orderInCategory="100" 
    android:showAsAction="never" 
    app:showAsAction="never"/> 

<item 
    android:id="@+id/action_about" 
    android:title="@string/menu_label_about" 
    android:orderInCategory="100" 
    android:showAsAction="always" 
    app:showAsAction="always"/> 

我的動態

public class MyActivity extends ActionBarActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_list_team); 

    getSupportActionBar().setDisplayHomeAsUpEnabled(false); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.list_team, menu); 
    return true; 
} 
} 

得到任何幫助。

+0

你的意思是你的action_about沒有顯示在操作欄上?或者你無法打開溢出菜單(並查看你的action_profile項目)? – ianhanniballake

+0

嗨@ianhanniballake im無法打開action_profile的溢出菜單。它沒有在舊版本中顯示。 – andresmafra

+0

當你點擊硬件菜單按鈕時會發生什麼? – ianhanniballake

回答

1

嘗試刪除這兩個屬性android:showAsAction=""並僅保留這些app:showAsAction=""

按照Google Documentation

如果您的應用使用支持庫上的版本低了Android 2.1的兼容性,showAsAction屬性不可從Android:命名空間。

你也可以改變* action_about *的orderInCategory爲1

+0

感謝您的回覆@Fllo,但它也不起作用... – andresmafra

1

在此基礎上的代碼,你在你的覆蓋丟失super.onCreateOptionsMenu()

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.list_team, menu); 
    return super.onCreateOptionsMenu(menu); 
} 

而且你也應該只使用app:showAsAction命名空間,如以前所建議的。

+0

app:showAsAction屬性缺少Android命名空間前綴? – levi

+0

您是否使用支持庫?看看上面的代碼。您需要菜單xml文件中的'xmlns:app =「http://schemas.android.com/apk/res-auto」'行。 –

+0

是的,我正在使用支持庫。 – levi

1

帶有Android 2.X的設備通常有一個硬件菜單按鈕。在這種情況下,溢出菜單圖標是而不是顯示(至少在默認情況下,不確定是否在appcompat中有此切換,儘管在ActionBarSherlock中有)。

儘管如此,按下菜單按鈕時應該可以使用這些選項。可能是這樣嗎?

+0

但是,android api 10中的選項菜單在哪裏?它是左下角嗎? – levi

+1

@levi當您按菜單鍵時,它從屏幕底部出現。 – matiash