2013-03-14 63 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