2013-03-14 67 views
3

創建一個選項菜單我想實現的Android 2.3的應用程序選項菜單與ActionBarSherlock的幫助。不過,這並不display.Here是一個簡單的XML佈局文件「breadcrumb_bar_menu」的選項菜單:不能在ActionBarSherlock

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:id="@+id/inbox" 
     android:icon="@drawable/topbar_btn_inbox"  
     android:title= "@string/about" />  

<item android:id="@+id/sent" 
     android:icon="@drawable/topbar_sent"  
     android:title="@string/about" />  
    </menu> 

,這裏是我的活動從SherlockActivity繼承:

public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getSupportMenuInflater(); 
    inflater.inflate(R.menu.breadcrumb_bar_menu, menu); 
    return true; 
} 

但我不能看選項菜單上的活動。我做錯了什麼?

+0

在其Android操作系統的版本你在測試應用程序嗎?它有硬件菜單按鈕嗎? – 2013-03-14 18:55:37

+0

@ShajeelAfzal請認真閱讀我的問題。我說過這個版本。 – MainstreamDeveloper00 2013-03-14 19:31:00

回答

3

包括在你的菜單XML項的屬性android:showAsAction="ifRoom"

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:id="@+id/inbox" 
     android:showAsAction="ifRoom" 
     android:icon="@drawable/topbar_btn_inbox"  
     android:title= "@string/about" />  

    <item android:id="@+id/sent" 
     android:showAsAction="ifRoom" 
     android:icon="@drawable/topbar_sent"  
     android:title="@string/about" />  
</menu> 
0

您必須設置navigationmode爲deivce。 也是你的設備有硬菜單鍵,如果是的話,那麼你不會看到菜單選項的三個點。

+1

我該怎麼做? – MainstreamDeveloper00 2013-03-14 18:31:08

0

你需要告訴系統你將使用菜單:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setHasOptionsMenu(true); 
} 
1
public boolean onCreateOptionsMenu(Menu menu) { 
    // TODO Auto-generated method stub 
    com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater(); 
    inflater.inflate(R.menu.actionoption, menu); 
    return true; 
} 
0

爲了optionmenu爲其他的API> 2.3.3使用Actionbarsherlock 工作,我做了以下內容:

菜單文件:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:id="@+id/navigateMenu" 
android:icon="@drawable/icon" 
android:title="Menu" 
android:orderInCategory:"9" 
android:showAsAction="always" 
android:titleCondensed="Menu"> 
<menu> 
<item android:id="@+id/id1" 
android:icon="@drawable/option1" 
android:title="option1" /> 
<item android:id="@+id/id2" 
android:icon="@drawable/option2" 
android:title="option2" /> 
<item android:id="@+id/id3" 
android:icon="@drawable/option3" 
android:title="option3" /> 
</menu> 
</item> 
</menu> 

在你的活動代碼: 拍攝父菜單項的參考並將其安裝使用SHOW_AS_ACTION_ALWAYS屬性動作條 見編碼相同:

活動文件:

@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.sample_menu, menu); 

//To make optionmenu visible on Actionbar for 2.3.3 

menu.findItem(R.id.navigateMenu).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS) 
     return true; 
    } 
+0

這是trcik ....乾杯...... !!!! – 2015-11-21 17:55:00