在活动中使用Menu
步骤:
- 在res目录下新建一个menu文件夹,接着在该文件夹下再新建一个名叫main的菜单文件(右击menu文件夹->New->Menu resource file)文件名输入main,点击ok
- 在main.xml中添加如下代码:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:title="Add"
android:id="@+id/add_item"
/>
<item
android:title="Remove"
android:id="@+id/remove_item"/>
</menu>
这里创建了两个菜单项,id指定唯一的标识符,title给菜单项指定一个名称
3.接着回到activity重写onCreateOptionMenu()方法
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater=getMenuInflater();
menuInflater.inflate(R.menu.main,menu);
return true;//返回false menu不会出现
}
通过getMenuInflater()方法能够获得MenuInflater对象,再调用它的inflate方法就可以给当前活动创建菜单了,第一个参数是指定通过那个资源文件创建菜单,第二个参数是指定我们的菜单项将添加到哪一个Menu对象当中,直接传入onCreateOptionsMenu()里的参数
添加点击事件
在activity中重写onOptionsItemSelected()方法:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.add_item:
Toast.makeText(this,"你点击了Add",Toast.LENGTH_SHORT).show();
break;
case R.id.remove_item:
Toast.makeText(this,"你点击了Remove",Toast.LENGTH_SHORT).show();
break;
default:
}
return true;
}//当点击某个item后,该item会根据当前构造的Activity去找这个方法,然后传入该item
大功告成
网友评论