Android SDK提供了三种菜单:

选项菜单OptionsMenu、上下文菜单ContextMenu和子菜单SubMenu


在这里主要讲解怎么使用OptionsMenu。


要实现选项菜单功能,首先要重载onCreateOptionsMenu()方法创建菜单,然后通过onOptionsItemSelected()方法对菜单被点击事件进行监听和处理。




下面实例:



在MainActivity中菜单部分代码:


public boolean onCreateOptionsMenu(Menu menu){

MenuInflater inflator=new MenuInflater(MainActivity.this);

inflator.inflate(R.menu.settings, menu);

return super.onCreateOptionsMenu(menu);

}

public boolean onOptionsItemSelected(MenuItem item){


switch(item.getItemId()){

case R.id.bg1:item.setChecked(true);

break;

case R.id.bg2:item.setChecked(true);

break;

case R.id.bg3:item.setChecked(true);

break;

case R.id.bg4:item.setChecked(true);

break;

case R.id.bg5:item.setChecked(true);

break;

case R.id.old_bg:item.setChecked(true);

break;

case R.id.txtcolor1:Toast.makeText(MainActivity.this, "颜色更换成功!", Toast.LENGTH_SHORT).show();

break;

case R.id.txtcolor2:Toast.makeText(MainActivity.this, "颜色更换成功!", Toast.LENGTH_SHORT).show();

break;

case R.id.txtcolor3:Toast.makeText(MainActivity.this, "颜色更换成功!", Toast.LENGTH_SHORT).show();

break;

case R.id.txtcolor4:Toast.makeText(MainActivity.this, "颜色更换成功!", Toast.LENGTH_SHORT).show();

break;

case R.id.old_txtcolor:Toast.makeText(MainActivity.this, "颜色更换成功!", Toast.LENGTH_SHORT).show();

break;

}

return true;

}






在Menu文件夹新建一个菜单文件settings.xml



<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item android:id="@+id/bg" android:title="更换背景" android:alphabeticShortcut="e">

<menu>

<group android:id="@+id/group1" android:checkableBehavior="single">

<item android:id="@+id/bg1" android:title="背景1"></item>

<item android:id="@+id/bg2" android:title="背景2"></item>

<item android:id="@+id/bg3" android:title="背景3"></item>

<item android:id="@+id/bg4" android:title="背景4"></item>

<item android:id="@+id/bg5" android:title="背景5"></item>

<item android:id="@+id/old_bg" android:title="默认背景"></item>

</group>

</menu>

</item>

<item android:id="@+id/txtcolor" android:title="更换字体" android:alphabeticShortcut="e">

<menu>

<group android:id="@+id/group2" android:checkableBehavior="single">

<item android:id="@+id/txtcolor1" android:title="***"></item>

<item android:id="@+id/txtcolor2" android:title="红色"></item>

<item android:id="@+id/txtcolor3" android:title="蓝色"></item>

<item android:id="@+id/txtcolor4" android:title="黑色"></item>

<item android:id="@+id/old_txtcolor" android:title="默认颜色"></item>

</group>

</menu>

</item>

</menu>



这样就可以实现一个简单菜单栏了,具体运行效果还不错。