在活动中使用 Menu

来源:互联网 发布:C语言 replace函数 编辑:程序博客网 时间:2024/05/01 19:14

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 0