使用menu菜单

在android的标题栏UI中添加一个菜单,还可以按menu键打开。
menu
ADD

首先在res资源文件夹下创建一个menu菜单,然后右键点new再点menu resource file
取名main(看官随意)
在xml中添加两个item标签,代码如下

<?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>

在activity中重写onCreateOptionsMenu 直接输入方法名,回车,studio会自动补全代码

    /**
     * 将菜单显示出来
     * @param menu
     * @return 返回true表示可用,false反之
     */
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        //调用gtMenuInflater方法能够得到MenuInflater对象
        //再调用它的inflate方法就可以给当前活动创建菜单了,他需要传入两个参数
        //第一个是菜单的资源文件,第二个是指定将菜单项添加到那一个对象,这里用方法中传入的menu对象
        getMenuInflater().inflate(R.menu.main,menu);
        return true;

    }

这样创建的menu就可以显示在活动中了,然后我们再重写onOptionItemSelected方法来使菜单中的选项被点击后有响应。

    /**
     * 对menu添加监听
     * @param item 被点击的选项的
     * @return
     */

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        //getItemId()  获取被点击的选项的ID
        switch (item.getItemId()){
            //如果被点击的选项使add_item则Toast弹出“You clicked add”
            case R.id.add_item:
                //Toast有三个参数,第一个是Toast将显示在那个活动中,第二个是要显示的内容,第三个是时间的长短
                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;
    }
添加新评论