Android选项菜单(OptionMenu)的创建

选项菜单一般指的是activity中位于标题栏右侧的菜单,如图所示
右上角处三个竖点便是选项菜单的收起状态右上角处三个竖点便是选项菜单的收起状态

这是展开状态这是展开状态

选项菜单的创建一般分为3个步骤:
一、第一步创建选项菜单的选项卡,例如示例中的登陆,设置,退出等。
在res目录中创建menu文件夹,再在该文件夹中创建命名为main_menu的xml布局文件(可自行命名)
在res目录中创建menu文件夹,再在该文件夹中创建命名为main_menu的xml布局文件(可自行命名)

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/menu_login" android:title="@string/menu_login"/>
    <item android:id="@+id/menu_setting" android:title="@string/menu_setting"/>
    <item android:id="@+id/menu_exit" android:title="@string/menu_exit"/>
</menu>

在标签中写入各选项的id,文本等。
二、第二步,在Java文件中重写onCreateOptionsMenu方法,导入menu布局文件

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

这样以来,在activity中便会出现选项菜单了。既然出现菜单项,自然需要
菜单项能够响应点击事件。
三、第三步,在Java文件中重写onOptionsItemSelected方法,为每个选项添加监听事件

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()){
            case R.id.menu_login:
                Toast.makeText(this,"登陆", Toast.LENGTH_SHORT).show();
                break;
            case R.id.menu_setting:
                Toast.makeText(this,"设置", Toast.LENGTH_SHORT).show();
                break;
            case R.id.menu_exit:
                Toast.makeText(this,"退出", Toast.LENGTH_SHORT).show();
                break;
            default:
                break;
        }
        return super.onOptionsItemSelected(item);
    }

在switch里的item.getItemId()表示的是被点击的选项的id,这里采用Toast来显示所点击的选项。
点击设置点击设置
在活动底部便出现了内容为设置的Toast消息在活动底部便出现了内容为设置的Toast消息。
也可设置其他监听事件,这里便不一一演示了。

注!上述方法适用于需要用到选项菜单的活动很多的情况,如果只有少数几个活动需要用到选项菜单,则可在Java文件中重写onCreateOptionsMenu时使用menu的add (int groupId, int itemId, int order, int titleRes)方法,直接添加所需要的选项。
参数描述:
groudId:int型,是指组ID,用以批量地对菜单子项进行处理和排序
itemId:int型,是子项ID,是每一个菜单子项的唯一标识
order:int型,是指定菜单子项在选项菜单中的排列顺序
titlerRes:String型,是指选项的文本显示内容

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        menu.add(0,1,0,"add登陆");
        menu.add(0,2,1,"add设置");
        menu.add(0,3,3,"add退出");
        return true;
    }

如图显示
然后在执行第三步就可以了,值得一提的是,这时item.getItemId()获得的内容便是add方法中的第二个参数。

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值