Android开发之菜单介绍1:选项菜单(Option menu)

2014-08-17 09:51:56|?次阅读|上传:huigezrx【已有?条评论】发表评论

关键词:Java, Android, Web, 移动应用|来源:唯设编程网

在Android 应用程序中, 菜单是经常使用的界面元素。Android平台下所提供的菜单大体上可分为两类:选项菜单(Option menu)和上下文菜单(context menu)。

当Activity在前台运行时,如果用户按下手机上的Menu键,此时就会在屏幕底部弹出相应的选项菜单。但这个功能需要开发人员编程来实现的,如果在开发应用程序时没有实现该功能,那么程序运行时按下手机的meun键是不会起作用的。

对于携带图标的选项菜单,每次最多只能显示6个,当菜单选项多于6个时,将只显示前5个和一个扩展菜单选项,点击扩展菜单选项将会弹出其余的菜单项。扩展菜单项中将不会显示图标,但是可以显示单选按钮和复选框。

Android SDK 提供一种方法使得用户可以在应用程序中通过按下菜单按钮来调出一个菜单(如图所示)。你可以在应用程序中使用选项菜单来提供帮助、导航或其他扩展控制, 以及配置选项。 OptionsMenu控件可以包含图标、子菜单和键盘快捷方式。

Android开发之菜单介绍1:选项菜单

要实现在用户按下Menu 按钮时弹出选项菜单, 你需要覆写Activity 中onCreateOptionMenu () 方法的实现。下面是一个向用户提供含有三个选项的菜单的例子:

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);

        menu.add("Forms")
                .setIcon(android.R.drawable.ic_menu_edit)
                .setIntent(new Intent(this, FormsActivity.class));

        menu.add("Indicators")
                .setIcon(android.R.drawable.ic_menu_info_details)
                .setIntent(new Intent(this, IndicatorsActivity.class));

        menu.add("Containers")
                .setIcon(android.R.drawable.ic_menu_view)
                .setIntent(new Intent(this, ContainersActivity.class));

        SubMenu style_choice = menu.addSubMenu("Style")
                .setIcon(android.R.drawable.ic_menu_preferences);
        style_choice.add(style_group, light_id, 1, "Light").setChecked(isLight);
        style_choice.add(style_group, dark_id, 2, "Dark").setChecked(!isLight);
        style_choice.setGroupCheckable(style_group, true, true);

        Log.d(ViewSampleActivity.debugTag, "onCreateOptionsMenu() called");

        return true;
    }

我们为其中的每个选项设置了一个内边的图标资源, 并且关联了一个Intent。为了消晰起见, 我们使用常规的字符串来指定菜单项的标题。 当然, 使用资源标识符也是可以的。在这个例子中, 井不需要其他用户处理菜单动作的代码。当选择其中的任何一个选项时,由其Intent 所描述的Activity 将被启动。

<12>
发表评论0条 】
网友评论(共?条评论)..
Android开发之菜单介绍1:选项菜单(Option menu)