在android的标题栏UI中添加一个菜单,还可以按menu键打开。
首先在res资源文件夹下创建一个menu菜单,然后右键点new再点menu resource file
取名main(看官随意)
在xml中添加两个item标签,代码如下
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/add_item"
android:title="add"/>
<item
android:id="@+id/remove_item"
android:title="remove"/>
</menu>
在activity中重写onCreateOptionsMenu 直接输入方法名,回车,studio会自动补全代码
/**
* 将菜单显示出来
* @param menu
* @return 返回true表示可用,false反之
*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//调用gtMenuInflater方法能够得到MenuInflater对象
//再调用它的inflate方法就可以给当前活动创建菜单了,他需要传入两个参数
//第一个是菜单的资源文件,第二个是指定将菜单项添加到那一个对象,这里用方法中传入的menu对象
getMenuInflater().inflate(R.menu.main,menu);
return true;
}
这样创建的menu就可以显示在活动中了,然后我们再重写onOptionItemSelected方法来使菜单中的选项被点击后有响应。
/**
* 对menu添加监听
* @param item 被点击的选项的
* @return
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//getItemId() 获取被点击的选项的ID
switch (item.getItemId()){
//如果被点击的选项使add_item则Toast弹出“You clicked add”
case R.id.add_item:
//Toast有三个参数,第一个是Toast将显示在那个活动中,第二个是要显示的内容,第三个是时间的长短
Toast.makeText(this,"You clicked add",Toast.LENGTH_SHORT).show();
break;
case R.id.remove_item:
Toast.makeText(this,"YOu clicked remove",Toast.LENGTH_SHORT).show();
break;
default:
}
return true;
}