Android——menu

 一、在res目录下新建menu文件夹

二、在menu新建的Menu Resource File里编辑,我这里是随便起的main文件名,所以在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给这个菜单项指定名称。

三、在MainActivity中重写onCreateOptionsMenu()方法,也可以使用Ctrl+O快捷键(windows)直接查。

 public boolean onCreateOptionsMenu(Menu menu){
        getMenuInflater().inflate(R.menu.main,menu);
        return true;
    }

        通过getMenuInflater()方法得到MenuInflater对象,再调用inflate() 方法给当前活动创建菜单,inflate()接收两个参数 , 第一个参数用于指定我们通过哪一个资源文件来创建菜单,这里是main.xml,第二个参数用于指定我们的菜单项将添加到哪一个Menu对象当中,这里我们直接使用onCreateOptionsMenu()方法传入的menu参数,然后这个方法返回 true 就表示允许创建菜单显示出来,如果返回false,创建的菜单将无法显示。

四、给菜单定义响应事件

        在MainActivity活动中重写onOptionsItemSelected()方法

public boolean onOptionsItemSelected(MenuItem item){
        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:
                break;
        }
        return true;
    }

      

猜你喜欢

转载自blog.csdn.net/m0_61793503/article/details/131439524