1.菜单的分类
1.1 Options menu 选项菜单 功能主要针对activity
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<group> 可选项
<item>
</item>
</group>
</menu>
子菜单 item标签的中间嵌套menu标签
1.子菜单不能显示图标
代码的写法:
1.1 Options menu 选项菜单 功能主要针对activity
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<group> 可选项
<item>
</item>
</group>
</menu>
子菜单 item标签的中间嵌套menu标签
1.子菜单不能显示图标
2.子菜单只能有一级
1.2 我们也可以在代码中添加
2,我们在布局中添加menu
<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:icon="@drawable/ic_launcher"
android:orderInCategory="1"
android:showAsAction="never"
android:title="添加"/>
<!--
android:id="@+id/action_add" 设置menuitem的唯一的标示资源id
android:icon="@drawable/ic_launcher" 设置menuitem的图标
android:title="添加" 设置menuitem的每一项中的文本内容
android:orderInCategory="100" 设置菜单的显示顺序 一般会按照值的生序排列
-->
</menu>
代码的写法:
package com.qianfeng.optionsmenu;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/**
* 当选项菜单被创建时回调的方法
*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//获取MenuInflater对象然后调用加载xml文件的inflate方法
getMenuInflater().inflate(R.menu.main, menu);
/*第一个参数标示菜单项的分组id
* 第二个参数 表示菜单项的资源id
* 第三个参数 表示菜单项的显示顺序
* 第四个参数 表示菜单的标题
*/
menu.add(Menu.NONE, 2, 3, "删除");
menu.add(Menu.NONE, 1, 0, "修改");
return true;
}
/**
* 当选项菜单中的某一项被点击的时候回调的
* 选项菜单中的每一项在代码中都是MenuItem对象
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {//获取当前选择的菜单项的id
case R.id.action_add:
Toast.makeText(MainActivity.this,item.getTitle(), Toast.LENGTH_SHORT).show();
break;
case 2:
Toast.makeText(MainActivity.this,item.getTitle(), Toast.LENGTH_SHORT).show();
break;
}
return super.onOptionsItemSelected(item);
}
}