Android开发入门(十五)使用菜单 15.1 辅助方法

菜单可以用来显示额外的选项,这些选项也不必出现在主界面中。在Android框架中,主要有2种菜单:

选项菜单 —— 显示与当前活动有关的信息。使用MENU键,可以触发这个菜单。

上下文菜单 —— 显示与活动中某一个视图相关的信息。长按一个视图,可以触发这个菜单。

开发入门(十五)使用菜单 15.1 辅助方法-正月十五菜单">

左侧是 选项菜单,右侧是 上下文菜单。

在使用这两种菜单之前,我们先介绍一下两个辅 助方法。一个用来填充菜单中的选项列表,另一个用来处理菜单的选中事件。

1. 创建一个工程: Menus。

2. MenusActivity.java中的代码。

public class MenusActivity extends 

Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }    

    private void CreateMenu(Menu menu) {
        menu.setQwertyMode(true);
        MenuItem mnu1 = menu.add(0, 0, 0, "Item 1");
        {
            mnu1.setAlphabeticShortcut('a');
            mnu1.setIcon(R.drawable.ic_launcher);
        }
        MenuItem mnu2 = menu.add(0, 1, 1, "Item 2");
        {
            mnu2.setAlphabeticShortcut('b');
            mnu2.setIcon(R.drawable.ic_launcher);
        }
        MenuItem mnu3 = menu.add(0, 2, 2, "Item 3");
        {
            mnu3.setAlphabeticShortcut('c');
            mnu3.setIcon(R.drawable.ic_launcher);
        }
        MenuItem mnu4 = menu.add(0, 3, 3, "Item 4");
        {
            mnu4.setAlphabeticShortcut('d');
        }    

        menu.add(0, 4, 4, "Item 5");
        menu.add(0, 5, 5, "Item 6");
        menu.add(0, 6, 6, "Item 7");
    }    

    private boolean MenuChoice(MenuItem item) {
        switch (item.getItemId()) {
        case 0:
            Toast.makeText(this, "You clicked on Item 1", Toast.LENGTH_LONG)
                    .show();
            return true;
        case 1:
            Toast.makeText(this, "You clicked on Item 2", Toast.LENGTH_LONG)
                    .show();
            return true;
        case 2:
            Toast.makeText(this, "You clicked on Item 3", Toast.LENGTH_LONG)
                    .show();
            return true;
        case 3:
            Toast.makeText(this, "You clicked on Item 4", Toast.LENGTH_LONG)
                    .show();
            return true;
        case 4:
            Toast.makeText(this, "You clicked on Item 5", Toast.LENGTH_LONG)
                    .show();
            return true;
        case 5:
            Toast.makeText(this, "You clicked on Item 6", Toast.LENGTH_LONG)
                    .show();
            return true;
        case 6:
            Toast.makeText(this, "You clicked on Item 7", Toast.LENGTH_LONG)
                    .show();
            return true;
        }
        return false;
    }    

}

在上面的例子中,主要包含2个方法:CreateMenu()和MenuChoice()。

CreateMenu()方法 ,接收一个Menu类型的参数,并且向这个参数中添加一些菜单项。

想要添加一个菜单项,我们就要创 建一个MenuItem类的实例,然后使用Menu对象的add()方法。

MenuItem mnu1 = menu.add(0, 0, 0, 

"Item 1");
{
    mnu1.setAlphabeticShortcut('a');
    mnu1.setIcon(R.drawable.ic_launcher);
}

add()方法有4个参数,我一一来解释:

groupId —— 如果一个菜单项在一个组中,这就是组的标识符。如果groupID是0的话,说明这个菜单项 不在任何一个组中。

itemID —— 菜单项的唯一标识。

order —— 菜单项显示的顺序。

title —— 菜单项的显示文字。

另外,我们也可以使用setAlphabeticShortcut()方法去设置一个快捷键。这样就可以使用键盘去选择一 个菜单项。

setIcon() 方法可以为菜单项去设置一个图片。

最后,MenuChoice()方法接收一 个MenuItem类型的参数,然后检查它的id去判断到底是哪个菜单项被选中了,并且弹出一个Toast通知去告诉 用户他选中了哪个菜单项。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索return
, 方法
, item
, toast
, android上下文
, android launcher
, 菜单
, add on
, 一个
, Toast信息框
, toast不显示
Toast显示
正月十五菜单、游戏辅助入门、win7不显示入门菜单、手游辅助入门到精通、win10菜单 入门,以便于您获取更多的相关知识。

时间: 2024-09-17 02:07:38

Android开发入门(十五)使用菜单 15.1 辅助方法的相关文章

Windows 8风格应用开发入门 十五 ShareContract构建

共享数据包 DataPackage(数据包)是共享数据标准. 共享数据格式可以是多种的,包括文本.URI.HTML.图像等,以及更多可扩展的格式. 我们可以通过以下方法设置需要的分享数据类型: 1) SetText():设置共享文本,例如: 开发入门 十五 ShareContract构建-sharepoint入门教程"> 可以实现效果: 2) SetUri():设置共享Uri; 3) SetHtmlFormat():设置共享Html; 4) SetBitmap():设置共享位图,例如:

Android开发入门(五)屏幕组件 5.4 TableLayout表格布局

TableLayout可以把视图views组织成"行"或"列".可以使用<TableRow>元素指定表格中的一行 .每一行又可以包含一个或多个视图.每行中的每个视图组成了表格的一个元素.每列的宽度,取决于这一 列中宽度最大的视图view. 观察main.xml中的代码: <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:androi

Android开发入门(五)屏幕组件 5.7 ScrollView滚动视图

ScrollView是一种特殊的FrameLayout,使用ScrollView可以使用户能够滚动一个包含views的列表,这样 做的话,就可以利用比物理显示区域更大的空间.有一点需要注意一下,那就是ScrollView只能包含一个子 视图view或ViewGroup(这个ViewGroup通常是LinearLayout). 不要混合使用ListView和ScrollView .ListView被设计用来显示一些相关的信息,同时,ListView也已经被优化了去显示大量的列表lists. 下面的

Android开发入门(五)屏幕组件 5.6 FrameLayout帧布局

FrameLayout就是屏幕上的一个"定位器",可以使用它去显示一个单一的视图.被添加到FrameLayout上 的视图views总是被固定在这个布局的左上角.考虑以下的代码: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" an

Android开发入门(五)屏幕组件 5.5 RelativeLayout相对布局

使用RelativeLayout,可以通过设置"相对位置"(每个View相对于另一个view的位置),来指定它所包 含的子view的位置.看下面main.xml中的代码: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" androi

Android开发入门(五)屏幕组件 5.3 AbsoluteLayout绝对布局

使用AbsoluteLayout,可以指定它其中的子View的确切位置.观察如下main.xml中的代码: <?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" and

Kinect for Windows SDK开发入门(十五)进阶指引 下

上一篇文章介绍了Kinect for Windows SDK进阶开发需要了解的一些内容,包括影像处理Coding4Fun Kinect工具类库以及如何建立自己的扩展方法类库来方便开发,接下来介绍了利用Kinect进行近距离探测的一些方法,限于篇幅原因,仅仅介绍了近距离探测的三种方式.  本文接上文将继续介绍近距离探测中如何探测运动,如何获取并保存产生的影像数据:然后将会介绍如何进行脸部识别,以及介绍全息图(Holograme)的一些知识,最后介绍了一些值得关注的类库和项目. 2.4 运动识别 目

Android开发入门(五)屏幕组件 5.2 LinearLayout线性布局

LinearLayout把视图组织成一行或一列.子视图能被安排成垂直的或水平的.想知道LinearLayout是如何 工作的,首先考虑一下典型的mail.xml文件. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width

Android开发入门(五)屏幕组件 5.1 View和ViewGroup介绍

Activity(活动)中包含views(视图)和ViewGroups(视图组). "视图"(View)就是显示在 屏幕上的一个组件(Widget).View的例子:按钮(Button).标签(TextView)和文本框(EditText). 每个"视图"(View)都继承自基类android.view.View. "视图组"(ViewGroup)可以包含一个或 多个View.ViewGroup本身就是一种特殊的View,它提供了一个布局,可以使