在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所示。
图7-10 菜单Menu示例代码运行结果(1)——初始化
图7-11 菜单Menu示例代码运行结果(2)——单击Menu弹出菜单项
图7-12 菜单Menu示例代码运行结果(3)——单击登录弹出第二屏
首先,介绍如何通过xml布局实现这一效果,如代码清单7-10至代码清单7-13所示。
代码清单7-10 菜单Menu使用示例(第7章\Demo_07_05)main.xml
代码清单7-11 菜单Menu使用示例(第7章\Demo_07_05)main2.xml
代码清单7-12 菜单Menu使用示例(第7章\Demo_07_05)main3.xml(www.xing528.com)
代码清单7-13 菜单Menu使用示例(第7章\Demo_07_05\layout\menu)menu.xml
其次,介绍Activity java代码如何配合xml布局实现这一效果,如代码清单7-14至代码清单7-16所示。
代码清单7-14 菜单Menu使用示例(第7章\Demo_07_05)MainActivity.java
代码清单7-15 菜单Menu使用示例(第7章\Demo_07_05)login.java
代码清单7-16 菜单Menu使用示例(第7章\Demo_07_05)Register.java
最后,需要在AndroidManifest.xml要添加访问权限,具体如代码清单7-17所示。
代码清单7-17 菜单Menu使用示例(第7章\07_17)AndroidManifest.xml
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。