在活动中使用菜单(Menu)

任务名称:在活动使用菜单

任务现象:打开程序后,点击菜单按钮会出现2个选项,点击选项时会跳出相对应的提示框

步骤

1、创建一个项目,详细参考:http://8c925c9a.wiz03.com/share/s/2cABOq0BC4HP2LGV_j2dj_pL2PmFkt3XSkVX2GjSRG3a9rRL

2、在res目录下新建一个menu文件夹,右击res目录–》New–》Directory。

然后在文件夹下,新建一个main的菜单文件,右击menu–》New–》Menuresource file

3、在main.xml文件中创建2个菜单项。

  1. <menu xmlns:android="http://schemas.android.com/apk/res/android">
  2. <item
  3. android:id="@+id/add_item"
  4. android:title="Add"/>
  5. <item />/创建具体的某一个菜单项
  6. android:id="@+id/remove_item" />/指定一个唯一的标识符
  7. android:title="Remove"/> //指定一个名称
  8. </menu>

其中标签就是用来创建具体的某一个菜单项,然后通过android:id给这个菜单项指定一个唯一的标识符,通过android:title给这个菜单项指定一个名称

4、在主活动文件中重写onCreateOptionMenu()方法,可用快捷键ctrl+O

  1. @Override
  2. public boolean onCreateOptionsMenu(Menu menu) {
  3. getMenuInflater().inflate(R.menu.main,menu); //得到MenuInflater对象,再调用inflate()方法就可以给当前活动创建菜单了
  4. return true; //表示允许创建的菜单显示出来,如果false就无法显示
  5. // return super.onCreateOptionsMenu(menu);
  6. }

inflate()方法:接收2个参数,第一个参数用于指定我们通过哪一个资源文件来创建菜单。第二个参数用于指定我们的菜单项将添加到哪一个menu对象中,这里直接使用onCreateOption()方法中传入的menu参数。

5、定义菜单响应事件。在文件重写onOptionItemSelected()方法

  1. @Override
  2. public boolean onOptionsItemSelected(MenuItem item) {
  3. switch (item.getItemId()){ //判断我们点击的是哪一个菜单项
  4. case R.id.add_item: //点击Add
  5. Toast.makeText(this, "You Click Add", Toast.LENGTH_SHORT).show(); //弹出提示框
  6. break;
  7. case R.id.remove_item: //点击remove
  8. Toast.makeText(this,"You Click Remove",Toast.LENGTH_SHORT).show(); //弹出提示框
  9. break;
  10. default:
  11. }
  12. return true;
  13. }

6、运行程序

附件列表

    原文地址:https://www.cnblogs.com/aqyl/p/6653164.html