我正在尝试将我的选项菜单显示在新的Android 3.0系统栏中。我可以使用Notepadv3教程来处理此行为。但是,在实现几乎相同的功能时,菜单显示在上面的操作栏中,而不是系统栏。有什么想法吗?
附件是我的应用程序的相应代码:
public class AACUser extends Activity {
private static final int ADMIN_ID = Menu.FIRST;
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu.add(0, ADMIN_ID, 0, R.string.menu_admin);
return true;
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
switch(item.getItemId()) {
case ADMIN_ID:
enterAdminMode();
return true;
default:
return super.onMenuItemSelected(featureId, item);
}
}
}
我也尝试按照creating menu documentation推荐实现这些菜单功能:
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.user_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.menu_adminMode:
enterAdminMode();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
但没有区别:它仍然在操作栏的溢出中显示选项,但不显示系统栏。
答案 0 :(得分:2)
从Android 3.0开始,不需要选项菜单(如果不弃用)。如果您的目标是API 11(Android 3.0)或更高版本,则假定您的应用程序无需选项菜单即可运行,因此系统栏不会显示一个。系统栏中的选项菜单仅用于向后兼容旧应用程序。新应用程序应该具有访问选项的另一个可用性,例如操作栏提供的选项。
答案 1 :(得分:0)
我认为系统栏中的菜单按钮仅用于向后兼容。因此,如果您想为Honeycomb设计应用程序,则菜单应该并且将位于操作栏中。