Android 之Menu

在Android系统中,菜单可以分为两种,一种是,我们点击Menu键时出现的菜单项,另一种是我们长按屏幕不放,然后出现的系统菜单项。本文中,我们主要来看一下。第一种菜单是怎么添加的。

 

1、首先我们打开res/values/strings.xml,为我们的菜单,添加一些基本的信息

 

<string name="setting_label">Setting</string>   
<string name="setting_title">我的菜单</string>
<string name="setting_shutcut">S</string>
<string name="music_title">Music</string> 
<string name="music_summary">播放音乐</string>

 

2、在res文件夹下,新建menu文件夹,并建立menu.xml,将如下信息定义到menu.xml中

 

<item android:id="@+id/settings" android:title="@string/setting_title" android:alphabeticShortcut="@string/setting_shutcut"></item>

 

android:id:定义菜单的id

 

android:title:定义菜单显示的文本

 

android:alphabeticShortcut:定义菜单的响应快捷键

 

3、在主Activity中,重写一个方法,因为,Android在加载菜单的时候,需要触发CreateOptionsMenu,所以,我们就重写该事件的回调函数。onCreateOptionsMenu。然后,在里边添加如下代码:

 

//根据xml的配置项生成Menu下的菜单项
public boolean onCreateOptionsMenu(android.view.Menu menu) {
  
     super.onCreateOptionsMenu(menu);
     
     MenuInflater inmenu=getMenuInflater();//得到menuinflater,用于加载菜单项
     
     inmenu.inflate(R.menu.menu, menu);//根据xml的定义生成菜单项
     
     return true;
}

 

4、我们运行程序,然后点击模拟器中的menu键。就可以出现我们的菜单了。如图:

 

Android系统开发之添加程序菜单

 

如果我们想点击菜单时,弹出新的activity,那么我们需要重写。onOptionsItemSelected。然后编写我们的逻辑即可,如下代码,其中Settings是我自定义的activity类:

public boolean onOptionsItemSelected(android.view.MenuItem item) {
     
     switch (item.getItemId()) {
           case R.id.settings:
   
               Intent i=new Intent(this,Settings.class);
   
               startActivity(i);
   
           default:
              break;
      }
     
        return false;
     
};

原文地址:https://www.cnblogs.com/lechance/p/4373371.html