定义菜单资源
一个包含子菜单的菜单资源的例子如下:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.demo35.MainActivity" >
<item
android:id="@+id/change_bg"
android:alphabeticShortcut="g"
android:title="更换背景"/>
<item
android:id="@+id/change_settings"
android:alphabeticShortcut="e"
android:title="参数设置">
<menu>
<group android:checkableBehavior="all" >
<item
android:id="@+id/use_bg"
android:title="使用背景"/>
<item
android:id="@+id/bg_music"
android:title="背景音乐"/>
</group>
</menu>
</item>
<item
android:id="@+id/change_default"
android:alphabeticShortcut="r"
android:title="恢复默认"/>
</menu>
在<item>元素中再包含<menu>元素可以创建包含子菜单的选项
创建菜单
在Activity 中的onCreateOptionsMenu() 方法可以初始化菜单资源
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
重写监听函数
重写Activity 中的onOptionsItemSelected() 方法:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
switch(id){
...
}
return true;
}