我正在尝试让我的选项菜单显示在新的 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);
}
}
但没有区别:它仍然在操作栏的溢出中显示该选项,而不是系统栏。
最佳答案
从 Android 3.0 开始,选项菜单不是必需的(如果未弃用)。如果您的目标是 API 11 (Android 3.0) 或更高版本,则假定您的应用程序可以在没有选项菜单的情况下运行,因此系统栏将不会显示一个。系统栏中的选项菜单仅用于向后兼容旧应用程序。新的应用程序应该有另一种方式来访问选项,例如操作栏提供的方式。
关于java - 获取选项菜单以显示在系统栏中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5162769/