android创建菜单
16lz
2021-01-24
android手机上一般提供一个“菜单”按钮,当按下菜单按钮时会出现一个菜单,这是怎么实现的呢 , android的Activity提供一个 onCreateOptionsMenu()方法供我们重写,当按钮按下时,这个方法被调用,我们可以在其中动态添加菜单选项,目前可以选择两种方式添加,xml配置方式、硬编码方法。
1. xml配置方式: 在res添加menu目录,然后再旗下添加一个menu.xml文件,其内容如下:
然后再Activity中重写onCreateOptionsMenu方法,如下:
MenuInflater 用于加载menu配置文件。
或者使用硬编码方式:
add方法参数:
groupId :组标识符,用于将menuItem分组。不需要分组时可以使用Menu.NONE赋值。
itemId : 菜单项标识符,
order :菜单项顺序值
title :菜单项显示的字符串
菜单弹出来后,可以重写onMenuItemSelected方法对单击事件进行响应。如下:
1. xml配置方式: 在res添加menu目录,然后再旗下添加一个menu.xml文件,其内容如下:
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:title="新建" android:id="@+id/newItem"></item> <item android:id="@+id/deleteItem" android:title="删除"></item> <item android:id="@+id/editItem" android:title="编辑"></item></menu>
然后再Activity中重写onCreateOptionsMenu方法,如下:
@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// TODO Auto-generated method stubMenuInflater inflater = getMenuInflater();inflater.inflate(R.menu.menu, menu);return super.onCreateOptionsMenu(menu);}
MenuInflater 用于加载menu配置文件。
或者使用硬编码方式:
menu.add(Menu.NONE, R.id.newItem, Menu.NONE, "新建");menu.add(Menu.NONE, R.id.deleteItem, Menu.NONE, "删除");menu.add(Menu.NONE, R.id.editItem, Menu.NONE, "编辑");
add方法参数:
groupId :组标识符,用于将menuItem分组。不需要分组时可以使用Menu.NONE赋值。
itemId : 菜单项标识符,
order :菜单项顺序值
title :菜单项显示的字符串
菜单弹出来后,可以重写onMenuItemSelected方法对单击事件进行响应。如下:
@Override public boolean onMenuItemSelected(int featureId, MenuItem item) {// TODO Auto-generated method stubswitch (item.getItemId()) {case R.id.newItem:this.setTitle("新建菜单被单击");break;case R.id.deleteItem:this.setTitle("删除菜单被单击");break;case R.id.editItem:this.setTitle("编辑菜单被单击");break;default:break;}return super.onMenuItemSelected(featureId, item);}
更多相关文章
- Android(安卓)Notification 详解
- 配置android app 方法数超过65k问题
- 关于Android(安卓)Studio打包混淆以及上传mapping文件
- 获取Android(安卓)SDK 源代码并在Eclipse中关联查看的方法
- Android(安卓)屏幕旋转时Activity的变化
- Android(安卓)DownLoadManager的使用
- 对android中MIME类型的理解
- Android中BaseAdapter原理
- Android开发-进阶:详解Android中AsyncTask的使用