Android Menu菜单的基本使用

一、Menu的布局文件创建

Menu的创建非常简单,在res目录下新建Directory,命名为menu,在这个目录下新建Menu resource file文件,命名为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>

    <item
        android:id="@+id/remove_item"
        android:title="Remove">
    </item>

</menu>

二、Menu的显示和常用方法

在activity中MainActivity.java常使用三个方法:
onCreateOptionsMenu()方法就可以关联Menu菜单布局,再实现。
onOptionsItemSelected()方法可以实现菜单点击事件的监听。
onMenuOpened()打开菜单时执行的操作

 //创建菜单
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main,menu);
        return true;
    }

    //捕获菜单点击事件
    @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
        switch (item.getItemId()){
            case R.id.add_item:
                toast("add");
                break;
            case R.id.remove_item:
                toast("remove");
                break;
                default:
        }
        return true;
    }
     @Override
    public boolean onMenuOpened(int featureId, Menu menu) {
        toast("菜单在打开");
        return true;
    }
    //toast日志打印
    public void toast(String text){
        Toast.makeText(this,text,Toast.LENGTH_LONG).show();
    }
}

三、效果图

显示菜单
在这里插入图片描述
接下来就是菜单点击事件
在这里插入图片描述
菜单打开时执行
在这里插入图片描述

四、使用java代码添加菜单

看代码

 //创建菜单
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main,menu);
        /**
         * add(int groupId, int itemId, int order, CharSequence title),为菜单添加选项
         * 1)groupId:菜单组 标识
         * 2)itemId:菜单项标识,当用户点击菜单的时候,需要根据这个标识来判断,点击的是谁
         * 3)order:菜单排序,数值越小越排在前
         * 4)title:菜单名称
         */
        menu.add(1, 44, 4, "4号");
        menu.add(1, 22, 2, "2号");
        menu.add(1, 33, 3, "3号");
        menu.add(1, 11, 1, "1号");
        menu.add(1, 55, 5, "5号");
        menu.add(1, 66, 6, "6号");
        menu.add(1, 77, 7, "7号");
        return true;
    }

效果图
在这里插入图片描述
菜单的基本使用就是这样,更多内容,有待补充。

五、参考文章

郭霖《第一行代码》(第2版)38页到41页

发布了21 篇原创文章 · 获赞 1 · 访问量 888

猜你喜欢

转载自blog.csdn.net/qq_33401954/article/details/102514260