java - 获取选项菜单以显示在系统栏中

标签 java android menu

我正在尝试让我的选项菜单显示在新的 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/

相关文章:

java - S3Client的生命周期是多少

Java 7 和 Tomcat 7.0.64 - ClassFormatException : Invalid byte tag in constant pool

c++ win32动态菜单 - 选择了哪个菜单项

android - 水平回收 View 对齐中心,同时上一个/下一个项目可见

javascript - 当一个下拉选项打开时,另一个会关闭

c# - 在每个循环迭代中创建对象

java - 使用 Document 而不是 StreamSource 解码 xml

java - 理解java中点积的递归

android - 如何在相对布局中的按钮下方添加一条水平 1px 的白线?

java.lang.NoClassDefFoundError : android/media/Image android/firebase 错误