1、Android提供了三种类型应用菜单
options menu:按menu键后出现在屏幕的底部,它最大支持六个菜单项。
context menu:用户在一个视图上长按时出现的一个菜单项列表。
submenu:在context menu 和options menu的一个菜单项上按下时产生的一个菜单项列表,子菜单项不支持嵌套子菜单。
2、定义菜单
代替应用程序代码里面的实例化菜单对象,你就必须在main.xml中定义一个菜单和它所有的项目。然后将菜单资源加载到应用程序代码中去。
3、加载菜单资源
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.game_menu, menu);
return true;
}
在应用程序代码中创建了一个options菜单
4、创建options menu
当用户在options menu 选择一个菜单项,系统就调用你Activity的方法onOptionsItemSelected();这个方法的参数是用户选择的菜单项MenuItem,得到MenuItem通过调用getItemId();
5、创建context menu
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.context_menu, menu);
}
6、创建submenu
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/file"
android:icon="@drawable/file"
android:title="@string/file" >
<!-- "file" submenu -->
<menu">
<item android:id="@+id/new"
android:title="@string/new" />
<item android:id="@+id/open"
android:title="@string/open" />
</menu>
</item>
</menu>