在活动中使用 Menu

android studio《第一行代码》 在活动中使用 Menu


1.首先在 res 目录下新建一个 menu 文件夹,res->New->Android resource directory

输入文件夹名menu,type为menu,其他默认就行,点击 ok

其他选择默认就行

接着在新建的menu这个文件夹下再新建一个名叫 main 的菜单文件,menu->New->Menu resource file,点击ok

这里写图片描述

2.然后按照书上所说,在新建好的main.xml中修改为以下代码。

<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指定一个名称。

3.然后重写Activity里的 onCreateOptionsMenu()方法:

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

4.第三步的代码只是显示出了菜单,还要让菜单可用。接着就要再定义菜单响应事件,在 FirstActivity中重写 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:
    }
    return true;
}

但是,跟着该书一步步操作会发现当程序运行时找不到menu选项,如下图:
这里写图片描述

这是因为单击手机上的菜单键(MENU)出现的选项菜单,只有具有菜单按钮的设备才可以触发该功能。虽说在Android3.0之后不再推荐使用选项菜单,但是如果使用了,在Android3.0之后的设备上,选项菜单项将被默认转移到ActionBar中,这个可以通过android:showAsAction属性控制。

但是我们可以找一个更简单的方法,既然只是测试一下,那么搜一搜安卓对应的键盘快捷键。有了:

Menu键
用于打开菜单的按键,在键盘上映射的是F2键,PgUp键同样可以。另外,看英文原文的意思,貌似这个键在某些机型上会被设计为左软件(left softkey)

因为本人是用的安卓模拟器,所以直接按电脑F2就出现了安卓模拟器的菜单项:
这里写图片描述

接下来就可以继续玩啦~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值