1.在res/menu的路径下创建一个xml文件。名字就叫menu_list.xml吧。意思是菜单列表。当我们要添加菜单和去掉菜单时,要修改此文件。
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_add"
android:icon="@android:drawable/ic_menu_add"
android:showAsAction="ifRoom"
android:title="@string/action_settings"/>
</menu>
id不想说了,icon就是菜单显示的图标,可以访问http://developer.android.com/guide/practices/ui_guidelines/icon_design.html查看指南。showAsAction属性表示该菜单将会如何显示在菜单栏上。ifRoom属性表示,如果位置有空余,则显示出来,否则隐藏。
2.在重写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;
}
填充菜单栏的视图
注意:如果是fragment创建菜单的话,还需要在oncreate方法里添加setHasOptionMenu(true)方法
3.响应菜单栏
当点击菜单栏时,应该完成对应的任务这时要重写onOptionsItemSelected方法
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId() == R.id.action_add){
//这里使用了一点技巧来实现处于选中状态 但是0个item 被选择
mListView.setItemChecked(0,true);
mListView.clearChoices();
}
return super.onOptionsItemSelected(item);
}
在这个方法里可以用switch语句。这里偷懒就不写了。