Android菜单Menu的创建
在res目录下的menu文件夹下创建一个main.xml文件,内容如下:
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/add_item" android:title="Add" /> <item android:id="@+id/remove_item" android:title="Remove" /> </menu>
注释:这里创建了两个菜单项,其中<item>标签就是用来创建具体的一个菜单项,然后通过android:id给这个菜单项指定一个唯一的标识符,通过android:title给这菜单指定一个名称。
然后打开Activity,重写onCreateOptionsMenu()方法,内容如下:
//通过getMenuInflater()方法得到MenuInflater对象 public boolean onCreateOptionsMenu(Menu menu){ //调用inflate()方法创建菜单 getMenuInflater().inflate(R.menu.main,menu); //如果返回false,创建的菜单无法显示 return true; }
当然,仅仅让菜单显示出来是不够的,菜单不是用来看的,关键是要菜单真正可用才行,因此还要再定义菜单响应事件。
在Activity中重写onOptionsItemSelected()方法,内容如下:
public boolean onOptionsItemSelected(MenuItem item){ //通过调用item.getItemId()来判断菜单项 switch (item.getItemId()){ case R.id.add_item: Toast.makeText(this,"You Clicked Add",Toast.LENGTH_SHORT).show(); break; case R.id.remove_item: Toast.makeText(this,"You clicked Remove",Toast.LENGTH_SHORT).show(); break; default: } return true; }
运行程序,并按下Menu键就能够显示菜单项了。
菜单默认是不会显示出来的,只有按下Menu键,菜单才会在底部显示出来。