0 Comments

创建选项菜单(Options Menu)

发布于:2012-11-19  |   作者:广州网站建设  |   已聚集:人围观
创建选项菜单(Options Menu)

Activity类的onCreateOptionsMenu事件方法用来创建选项菜单,该方法的定义如下:广州网站建设

  1. public boolean onCreateOptionsMenu(Menu menu); 

一般需要将创建选项菜单的代码放在onCreateOptionsMenu方法中。通过Menu.add方法可以添加一个选项菜单项。该方法有4种重载形式,它们的定义如下:


  1. public MenuItem add(int titleRes);  
  2. public MenuItem add(CharSequence title);  
  3. public MenuItem add(int groupId, int itemId,  int order, int titleRes);  
  4. public MenuItem add(int groupId, int itemId,  int order, CharSequence title); 

add方法最多有4个参数,这些参数的含义如下。

groupId:菜单项的分组ID,该参数一般用于带选项按钮的菜单(将在后面详细介绍)。参数值可以是负整数、0和正整数。广州网站建设

itemId:当前添加的菜单项的ID。该参数值可以是负整数、0和正整数。广州网站设计

order:菜单显示顺序。Android系统在显示菜单项时,根据order参数的值按升序从左到右、从上到下显示菜单项。参数值必须是0和正整数,不能为负整数。

titleRes或title:菜单项标题的字符串资源ID或字符串。广州网站设计

如果使用add方法的前两种重载形式,groupId、itemId和order三个参数的值都为0。这时菜单项的显示顺序就是菜单项的添加顺序。下面的代码添加了3个选项菜单项:


  1. public boolean onCreateOptionsMenu(Menu menu)  
  2. {  
  3.     menu.add(1, 1, 1, "菜单项1");  
  4.     menu.add(1, 2, 2, "菜单项2");  
  5.     menu.add(1, 3, 3, "菜单项3");  
  6.     return true;  
  7. }  

Android的选项菜单最多显示6个菜单项,如果不足6个菜单项,可根据实际情况来排列,例如,在有5个菜单项的情况下,第1行会显示两个菜单项,第2行会显示3个菜单项,如图6.1所示。如果菜单项超过6个,系统会显示前5个菜单项,而最后一个菜单项的文本是"更多"或"More",如图6.2所示。单击该菜单项后,会显示其余的菜单项。如果菜单项的文本过长,系统会显示三行两列的选项菜单,而不是如图6.2所示的两行三列的选项菜单,而且过长的标题会从左到右移动显示。广州网站设计

图6.1  有5个菜单项的选项菜单
图6.2  超过6个菜单项的Activity菜单
飞机