Android---Menu菜单

  在一个界面Activity中,在手机下含有一个menu的按钮,点击一个menu按钮,则会弹出菜单选项。而在Android中,menu的编写却不同于一般的控件方法,不res/layout下的xml中添加相应的控件,而是在res/menu下相应的xml文件中编写菜单的

      首先需要了解一个类MenuInflater用来解析res/menu下的菜单布局文件。在Activity类中有一个getMenuInflater()的函数用来返回这个Activity的MenuInflater,并通过MenuInflater对象来设置menu XML里的menu作为该Activity的菜单。其具体代码如下所示:

 

[java] view plaincopy
 
  1. public boolean onCreateOptionsMenu(Menu menu)  
  2. {  
  3.     MenuInflater inflater=this.getMenuInflater();  
  4.     //设置menu界面为res/menu/menu.xml  
  5.     inflater.inflate(R.menu.menu, menu);  
  6.     return true;  
  7. }  

 

      public boolean OnCreateOptionsMenu(Menu menu)是Activity中的创建选择类型菜单的函数,通过这个函数可以创建菜单,而创建菜单项的方式不单可以通过创建xml的menu文档的方式,也可以直接在该函数下编写代码,比如像这样:menu.add(0,0,0,"关于");
menu.add(0,1,1,"返回");

      最后是选择菜单项的事件监听,同样在Activity类中提供这样的一个函数:boolean onOptionsItemSelected(MenuItem item),其中item是当前选中的菜单项。

      在Activity类中,关于菜单的一些函数列举如下:

      void closeOptionsMenu();----利用编程的方式关闭选择项式的菜单。

      MenuInflater getMenuInflater();----在当前的界面context中返回一个承载当前界面的menu的MenuInflater。

      boolean onCreateOptionsMenu(Menu menu);----用来初始化Activity的标准化的选择菜单的内容。

      boolean onOptionsItemSelected(MenuItem item);----事件处理,当菜单里的一个选项被选中发生。

      void onOptionsMenuClosed(Menu menu);----事件处理,当菜单被closed时会调用这个函数。

      void openOptionsMenu();----利用编程的方式打开Options型的菜单。 

posted @ 2014-08-05 16:23  Martin2  阅读(120)  评论(0编辑  收藏  举报