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

posted @ 2016-01-09 15:03  woider  阅读(12006)  评论(0编辑  收藏  举报