首页 理论教育 菜单使用示例及配合代码分析

菜单使用示例及配合代码分析

时间:2023-06-15 理论教育 版权反馈
【摘要】:在这里,还需要重写onOptionsItemSelected方法,当用户选择某个菜单项时会调用这个函数,从而实现对应的操作。下面通过一个示例讲述菜单Menu的用法,该示例提供了两种方式的Menu创建方法,代码运行结果如图7-10至图7-12所示。代码清单7-10 菜单Menu使用示例main.xml代码清单7-11 菜单Menu使用示例main2.xml代码清单7-12 菜单Menu使用示例main3.xml代码清单7-13 菜单Menu使用示例menu.xml其次,介绍Activity java代码如何配合xml布局实现这一效果,如代码清单7-14至代码清单7-16所示。

菜单使用示例及配合代码分析

在Android中每一个视图组件的创建方式几乎都有两种方式:

1)在xml布局文件中创建,通过此方式创建的组件可以通过findViewById()方法获取android:id的方式设置其属性。

2)在Activity java代码中通过写java代码创建,在Activity java代码中可以通过set方式调用相对应的组件属性。

Menu也不例外,既可以通过xml布局添加菜单,也可以在Activity java代码中添加菜单。

通常,菜单(Menu)控件不需要添加在xml布局文件中,而需要在Activity java代码中重写onCreateOptionsMenu(Menumenu)方法,当我们在模拟器或者在手机上单击Menu按钮时,Android系统会自动调用这个函数,生成相应的菜单选项。在这里,还需要重写onOptionsItemSelected(MenuItemitem)方法,当用户选择某个菜单项时会调用这个函数,从而实现对应的操作。

在Android中Menu被分为三种类型:选项菜单(Option Menu)、上下文菜单(Context Menu)和子菜单(Sub Menu)使用最多的是选项菜单(Option Menu)。Android手机上还有个Menu按键,当Menu按下的时候,每个Activity都可以选择处理这一请求,在屏幕底部弹出一个菜单,这个菜单我们就叫它选项菜单OptionsMenu,一般情况下,选项菜单最多显示2排,每排3个菜单项,这些菜单项有文字有图标,也被称做IconMenus,如果多于6项,从第6项开始会被隐藏,第6项会出现一个More里,单击More才出现第6项以及以后的菜单项,这些菜单项也被称做ExpandedMenus。

下面通过一个示例讲述菜单Menu的用法,该示例提供了两种方式的Menu创建方法,代码运行结果如图7-10至图7-12所示。

978-7-111-37968-3-Chapter07-34.jpg

图7-10 菜单Menu示例代码运行结果(1)——初始化

978-7-111-37968-3-Chapter07-35.jpg

图7-11 菜单Menu示例代码运行结果(2)——单击Menu弹出菜单项

978-7-111-37968-3-Chapter07-36.jpg

图7-12 菜单Menu示例代码运行结果(3)——单击登录弹出第二屏

首先,介绍如何通过xml布局实现这一效果,如代码清单7-10至代码清单7-13所示。

代码清单7-10 菜单Menu使用示例(第7章\Demo_07_05)main.xml

978-7-111-37968-3-Chapter07-37.jpg

978-7-111-37968-3-Chapter07-38.jpg

代码清单7-11 菜单Menu使用示例(第7章\Demo_07_05)main2.xml

978-7-111-37968-3-Chapter07-39.jpg

代码清单7-12 菜单Menu使用示例(第7章\Demo_07_05)main3.xml(www.xing528.com)

978-7-111-37968-3-Chapter07-40.jpg

代码清单7-13 菜单Menu使用示例(第7章\Demo_07_05\layout\menu)menu.xml

978-7-111-37968-3-Chapter07-41.jpg

978-7-111-37968-3-Chapter07-42.jpg

其次,介绍Activity java代码如何配合xml布局实现这一效果,如代码清单7-14至代码清单7-16所示。

代码清单7-14 菜单Menu使用示例(第7章\Demo_07_05)MainActivity.java

978-7-111-37968-3-Chapter07-43.jpg

978-7-111-37968-3-Chapter07-44.jpg

代码清单7-15 菜单Menu使用示例(第7章\Demo_07_05)login.java

978-7-111-37968-3-Chapter07-45.jpg

978-7-111-37968-3-Chapter07-46.jpg

代码清单7-16 菜单Menu使用示例(第7章\Demo_07_05)Register.java

978-7-111-37968-3-Chapter07-47.jpg

978-7-111-37968-3-Chapter07-48.jpg

最后,需要在AndroidManifest.xml要添加访问权限,具体如代码清单7-17所示。

代码清单7-17 菜单Menu使用示例(第7章\07_17)AndroidManifest.xml

978-7-111-37968-3-Chapter07-49.jpg

978-7-111-37968-3-Chapter07-50.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈