用Android MenuInflater创建菜单项的方法步骤

内容摘要
之前在一篇文章中已经讲过了菜单项的创建方法,但是那种方法效率较低,维护不易,现在实现另一种方法创建菜单。
MenuInflater,通过此类我们可以轻松的创建菜单项,具体步骤如下:
1、
文章正文

之前在一篇文章中已经讲过了菜单项的创建方法,但是那种方法效率较低,维护不易,现在实现另一种方法创建菜单。

MenuInflater,通过此类我们可以轻松的创建菜单项,具体步骤如下:

1、在res/menu/文件夹下,找到main.xml文件,此文件就是我们定义菜单项的地方,在些文件中添加如下菜单项:

复制代码 代码如下:

<item
  android:id="@+id/menu1"
  android:icon="@android:drawable/alert_dark_frame"
  android:title="Menu1"/>
<item
  android:id="@+id/menu2"
  android:icon="@android:drawable/alert_dark_frame"
  android:title="Menu2"/>
<item
  android:id="@+id/menu3"
  android:icon="@android:drawable/alert_dark_frame"
  android:title="Menu3"/>
<item
  android:id="@+id/menu4"
  android:icon="@android:drawable/alert_dark_frame"
  android:title="Menu4"/> 

2、在Activity中,覆写如下方法并添加一个显示系统设置界面的方法
复制代码 代码如下:

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  MenuInflater inflater = getMenuInflater();
  inflater.inflate(R.menu.main, menu);
  return true;
 }
 @Override
 public boolean onOptionsItemSelected(MenuItem item) {
  switch (item.getItemId()) {
  case R.id.menu1:// 在些定义第一个菜单项的响应事件
   break;
  case R.id.menu2:
   break;
  case R.id.menu3:
   break;
  case R.id.menu4:
   showSettings();
   break;
  }
  return super.onOptionsItemSelected(item);
 }
 private void showSettings() {
  final Intent settingsIntent = new Intent(android.provider.Settings.ACTION_SETTINGS);
  settingsIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
  startActivity(settingsIntent);
 }

 3、运行程序,点击Menu,将出现如下效果

点击Menu4,将弹出系统设置页面!


代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!