分享到:

西安雁塔兆隆计算机培训中心西安软件开发,西安java培训,全国领先的软件开发培训

联系资料

西安雁塔兆隆计算机培训中心
所在地区:
陕西省 西安市
公司主页:
暂无
电话号码:
029-*******
传真号码:
暂无
联 系 人:
王老师
移动电话:
1592*******
电子邮箱:
暂无

android中的Menu功能菜单-OptionsMenu

发布于:2013年01月10日 来源:www.szfuhai.com
[摘要]ndroid中的菜单是用户界面中最常见的元素,使用也很频繁,在Android中,菜单被分为3种,分别为选项菜单(OptionsMenu)、上下文菜单(ContextMenu)、子菜单(SubMenu)。本文先讲选项菜单(OptionsMenu)的使用。 Android手机上有个Menu按键,当Menu按下的时候,

Android中的菜单是用户界面中最常见的元素,使用也很频繁,在Android中,菜单被分为3种,分别为选项菜单(OptionsMenu)、上下文菜单(ContextMenu)、子菜单(SubMenu)。本文先讲选项菜单(OptionsMenu)的使用。

      Android手机上有个Menu按键,当Menu按下的时候,每个Activity都可以选择处理这一请求,在屏幕底部弹出一个菜单,这个菜单我们就叫做选项菜单(OptionsMenu),一般情况下,选项菜单最多能显示2排3个菜单选项。这些菜单项中可以设定图标,文字。菜单项如果多于6项,从第6项开始出现一个More选项,点击More才出现第六项以及以后的菜单项,这些菜单项也被称作Expanded Menus。

      我们先浏览下效果图(如下):

我们要在Activity中除了覆盖 onCreate(Bundle savedInstanceState);方法外,也要覆盖onCreateOptionsMenu(Menu menu)和onOptionsItemSelected(MenuItem item)方法。代码如下:


复制到剪贴板  Java代码
  1. view plaincopy to clipboardprint?  
  2. package ***;    
  3.     
  4. import ***ty;    
  5. import ***;    
  6. import ***;    
  7. import ***Item;    
  8. import ***;    
  9.     
  10. public class TestActivity extends Activity {    
  11.         
  12.     //定义Menu菜单选项的ItemId    
  13.     final static int ONE = ***;    
  14.     final static int TWO = ***+1;    
  15.     final static int THREE = ***+2;    
  16.     final static int FOUR = ***+3;    
  17.     final static int FIVE = ***+4;    
  18.     final static int SIX = ***+5;    
  19.     final static int SEVEN = ***+6;    
  20.         
  21.         public void onCreate(Bundle savedInstanceState) {    
  22.                super.onCreate(savedInstanceState);    
  23.                setContentView(***);     
  24.         }    
  25.     
  26.     //创建Menu菜单    
  27.     public boolean onCreateOptionsMenu(Menu menu) {    
  28.         ***(0, ONE, 0"第一").setIcon(***);  //设置文字与图标    
  29.         ***(0, TWO, 0"第二");    
  30.         ***(0, THREE, 0"第三");    
  31.         ***(0, FOUR, 0"第四");    
  32.         ***(0, FIVE, 0"第五");    
  33.         ***(0, SIX, 0"第六");    
  34.         ***(0, SEVEN, 0"第七");    
  35.         return super.onCreateOptionsMenu(menu);    
  36.     }    
  37.     
  38.     //点击Menu菜单选项响应事件    
  39.     public boolean onOptionsItemSelected(MenuItem item) {    
  40.         switch(***mId()){    
  41.         case 1:    
  42.             ***xt(this"你点击了第一", ***_SHORT).show();    
  43.             break;    
  44.         case 2:    
  45.             ***xt(this"你点击了第二", ***_SHORT).show();    
  46.             break;    
  47.         }    
  48.         return super.onOptionsItemSelected(item);    
  49.     }    
  50.     
  51.         //选项菜单被关闭事件,菜单被关闭有三种情形,menu按钮被再次点击、    
  52.     //back按钮被点击或者用户选择了某一个菜单项    
  53.     public void onOptionsMenuClosed(Menu menu) {    
  54.         ***xt(this"你关闭了选项菜单", ***_SHORT).show();    
  55.     }    
  56.     
  57.     //菜单被显示之前的事件     
  58.     public boolean onPrepareOptionsMenu(Menu menu) {    
  59.         ***xt(this,     
  60.                 "选项菜单显示之前onPrepareOptionsMenu方法会被调用",***_LONG).show();      
  61.                 //如果返回false,此方法就把用户点击menu的动作给消费了,    
  62.         //onCreateOptionsMenu方法将不会被调用      
  63.                   return true;      
  64.     }      
  65. }    



(责任编辑:北大青鸟西安兆隆)