1.无需自定义布局文件,系统已经将布局文件定义好R.menu.main。
如果要添加菜单中的条目,那么在系统的菜单布局中修改。
2.Menu需要依附在Activity上。
在创建工程后,系统自动在MainActivity中生成添加菜单的方法:onCreateOptionsMenu(Menu menu),并且加载菜单布局。
如果要在菜单中添加新的条目,那么直接接入布局文件R.menu.main中修改。(赋值item)
3.要为Menu的Item添加点击事件,重写方法onOptionsItemSelected(MenuItem item)
4.核心 --- 两个方法:
onCreateOptionsMenu(Menu menu) onOptionsItemSelected(MenuItem item)
代码:
如果要添加菜单中的条目,那么在系统的菜单布局中修改。
2.Menu需要依附在Activity上。
在创建工程后,系统自动在MainActivity中生成添加菜单的方法:onCreateOptionsMenu(Menu menu),并且加载菜单布局。
如果要在菜单中添加新的条目,那么直接接入布局文件R.menu.main中修改。(赋值item)
3.要为Menu的Item添加点击事件,重写方法onOptionsItemSelected(MenuItem item)
4.核心 --- 两个方法:
onCreateOptionsMenu(Menu menu) onOptionsItemSelected(MenuItem item)
系统布局文件
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
<item
android:id="@+id/action_add"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Add"/>
</menu>
代码:
/**
* 创建菜单
*/
@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;
}
/**
* Menu的Item点击事件
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// 添加条目
case R.id.action_add:
Toast.makeText(this, item.getTitle(), 0).show();
break;
// 设置条目
case R.id.action_settings:
Toast.makeText(this, item.getTitle(), 0).show();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}