创建Menu:
Menu可以展示更多的菜单,而且不占用屏幕空间。
首先在res目录下新建了menu文件,右击res目录-->New-->Directory,输入文件夹名menu,点击ok。
接着在文件中中创建一个menu菜单文件,右击menu文件夹-->New-->Menu resource,文件名输入main,点击ok。
在main.xml文件中添加代码:
<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>
这里我们创建了两个菜单项,<item>创建某一菜单项,通过id给菜单指定一个唯一标识,title给这个菜单项指定一个名称。
在FirstActivity中重写onCreateOptionsMenu()方法:
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.main,menu)
return ture;
}
通过getMenuInflater()方法得到getMenuInflater对象在调用它的inflate()方法给当前活动创建菜单。
inflate()接受两个参数,第一个指定哪一个资源文件创建菜单,第二个用于指定我们的菜单项将添加到哪一个Menu的对象中,
这里直接用onCreateOptionsMenu()方法传来的menu参数。然后返回true表示允许创建的菜单显示出来。false将无法显示。
菜单响应事件:在FirstActivity重写onOptionsItemSelected()方法
public boolean onOptionsItemSelected(MenuItem item){
swith(item.getItemId()){
case R.id.add_item:
Toast.makeText(thid,"you clicked add",Toast.LENGTH_SHORT).show();
break;
case R.id.add_item:
Toast.makeText(thid,"you clicked add",Toast.LENGTH_SHORT).show();
break;
default:
}
return true;
}
在onOptionsItemSelected()方法中,通过调用item.getItem.Id()来判断点击的是哪一个菜单项。