Menu创建菜单_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > Menu创建菜单

Menu创建菜单

 2016/11/8 5:30:53  海格力斯  程序员俱乐部  我要评论(0)
  • 摘要:菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和子菜单(SubMenu),今天这讲是OptionsMenu一、概述:这里偷懒,从网上引用的,非原创。引用出处:ForrestWoopublicbooleanonCreateOptionsMenu(Menumenu):使用此方法调用OptionsMenu。publicbooleanonOptionsItemSelected
  • 标签:创建 菜单

       菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和子菜单(SubMenu),今天这讲是OptionsMenu 

  一、概述:这里偷懒,从网上引用的,非原创。引用出处:ForrestWoo

  public boolean onCreateOptionsMenu(Menu menu):使用此方法调用OptionsMenu 。

  public boolean onOptionsItemSelected(MenuItem item):选中菜单项后发生的动作。

  public void onOptionsMenuClosed(Menu menu):菜单关闭后发生的动作。

  public boolean onPrepareOptionsMenu(Menu menu):选项菜单显示之前onPrepareOptionsMenu方法会被调用,你可以用此方法来根据打当时的情况调整菜单。

  public boolean onMenuOpened(int featureId, Menu menu):单打开后发生的动作。

     首先我们先创建一个menu文件,这里用的是android studio,创建方式如下:

      1.

      2.

      3.创建完成后,在muen.xml中写以下代码,分别是创建两个meun控件(C#叫控件,这里就采用这种叫法),代码如下:

              

1 <?xml version="1.0" encoding="utf-8"?>
2 <menu xmlns:android="http://schemas.android.com/apk/res/android">
3               <item android:id="@+id/add_item"
4                   android:title="添加一个menu"/>
5 
6               <item android:id="@+id/move_item"
7                   android:title="移除一个menu"
8                   />
9 </menu>

      Studio中是这样显示的:

      

        4.接下来我们重写OnCrateOptionsMenu()方法:代码如下

          

class="code_img_closed" src="/Upload/Images/2016110805/0015B68B3C38AA5B.gif" alt="">
1 /*@ onCreateOptionsMenu
2 * */
3     public boolean onCreateOptionsMenu(Menu menu) {
4         getMenuInflater().inflate(R.menu.menu, menu);
5         return true    ;
6     }
logs_code_collapse">View Code

        *通过getMenuInflater()方法得到对像,再调用inflate()来创建活动菜单,光有菜单是不够的,我们要让它显示出来:添加以下代码:

 

 1 public boolean onOptionsItemSelected(MenuItem item)
 2            {
 3                switch (item.getItemId())
 4                {
 5                    case R.id.add_item: //在menu文件中定义的ID
 6                        Toast.makeText(this,"弹出一个menu",Toast.LENGTH_SHORT).show();
 7                             break;
 8                    case  R.id.move_item://同上
 9                        Toast.makeText(this,"关闭一个menu",Toast.LENGTH_SHORT).show();
10                    default:
11 
12                        break;
13                }
14                return  true;
15            }
onOptionsItemSelected

重写onOptionsItemSelected方法,通过调用getItemId()方法来判断点击的是哪一个菜单。效果如下:

 

 

 

发表评论
用户名: 匿名