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

时间:2011-03-02 02:27:27

标签: 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);
        }
    }

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

2 个答案:

答案 0 :(得分:2)

从Android 3.0开始,不需要选项菜单(如果不弃用)。如果您的目标是API 11(Android 3.0)或更高版本,则假定您的应用程序无需选项菜单即可运行,因此系统栏不会显示一个。系统栏中的选项菜单仅用于向后兼容旧应用程序。新应用程序应该具有访问选项的另一个可用性,例如操作栏提供的选项。

答案 1 :(得分:0)

我认为系统栏中的菜单按钮仅用于向后兼容。因此,如果您想为Honeycomb设计应用程序,则菜单应该并且将位于操作栏中。