Android菜单Menu的创建

时间:2021-08-23 09:06:34

在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键,菜单才会在底部显示出来。