Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取要在系统栏中显示的选项菜单_Java_Android_Menu - Fatal编程技术网

Java 获取要在系统栏中显示的选项菜单

Java 获取要在系统栏中显示的选项菜单,java,android,menu,Java,Android,Menu,我正试图让我的选项菜单出现在新的安卓3.0系统栏中。我可以在Notepadv3教程中使用此行为。但是,当实现几乎相同的功能时,菜单显示在上面的操作栏中,而不是系统栏中。有什么想法吗 附件是适用于我的申请的代码: public class AACUser extends Activity { private static final int ADMIN_ID = Menu.FIRST; public boolean onCreateOptionsMenu(Menu menu) { s

我正试图让我的选项菜单出现在新的安卓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);
    }
}


}
我还尝试按照以下建议实现这些菜单功能:


但是没有区别:它仍然在操作栏的溢出部分显示选项,而不是系统栏。

我认为系统栏中的菜单按钮只是为了向后兼容。因此,如果你想为蜂巢设计你的应用程序,那么菜单应该并且将在操作栏中。

从Android 3.0开始,选项菜单是不需要的(如果没有被弃用)。如果您的目标是API 11(Android 3.0)或更高版本,则假定您的应用程序将在没有选项菜单的情况下工作,因此系统栏将不会显示选项菜单。系统栏中的选项菜单仅用于向后兼容旧应用程序。新应用程序应该有另一个访问选项的功能,如操作栏提供的功能。

我按照“创建菜单”文档中的指示进行了尝试,但没有成功。将targetSdkVersion从11降低到10解决了问题。但是,我只想把这个应用定位到蜂巢,所以我还没有永久的解决方案。嗯。。我懂了。我很高兴能在系统栏上的选项菜单按钮上全屏运行。是否手动实现此功能?如果您的目标是API 11或更高版本,则不会。
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);
        }
    }