android菜单主要有三种,选项菜单(options Menu),上下文菜单(Content Menu),子菜单(Submenu)
options menu
当第一次调用选项菜单时,activity会调用onCreateOptionsMenu回调方法。
final int MENU_SAVE = Menu.FIRST;
final int MENU_DELETE = Menu.FIRST+1;
//android.view.Menu 变量
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, MENU_SAVE, 0, "保存")
.setIcon(android.R.drawable.ic_menu_save);
menu.add(0, MENU_DELETE, 0, "删除")
.setIcon(android.R.drawable.ic_menu_delete);
return true;
}
通过add函数返回的MenuItem可以设置menu的属性 如图标等。
通过@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
switch (item.getItemId()) {
case MENU_SAVE:
//做保存的那些事。
break;
case MENU_DELETE:
//做删除的那些事。
break;
}

return false;
}完成响应时间
通过 @Override
public boolean onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
//通过id找到MenuItem
MenuItem item = menu.findItem(MENU_SAVE);

//根据需要更改item,使能等

return true;
}动态更改选项菜单

content menu 使用方法同上 长按view对象即可显示此菜单
首先需要在oncreate函数中注册上下文菜单的view对象
源码如下:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

TextView tv = new TextView(this);
tv.setText("上下文菜单的载体");
this.registerForContextMenu(tv);
this.setContentView(tv);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.add(0, C_MENU_NEW, 0, "新建");
menu.add(0, C_MENU_OPEN, 0, "打开");
}
@Override
public boolean onContextItemSelected(MenuItem item) {
super.onContextItemSelected(item);

switch (item.getItemId()) {
case C_MENU_NEW:
//做新建的那些事。
break;
case C_MENU_OPEN:
//做打开的那些事。
break;
}
return false;
}
sub menu 子菜单
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);

SubMenu sub = menu.addSubMenu("yyyy");
sub.setIcon(android.R.drawable.ic_menu_search);

sub.add(0,MENU_LOCAL,0,"本地");
sub.add(0,MENU_INTERNET,0,"网络");
return true;
}
响应时间同option menu

更多相关文章

  1. 《Android面试宝典》学习笔记(第四章:对话框、信息提示和菜单)
  2. android中列表选项、单选选项、多选选项对话框的使用
  3. 自定义Android菜单背景
  4. Android之PopupWindow类似微信右上角的弹出菜单
  5. Android的onCreateOptionsMenu()创建菜单Menu详解
  6. 自定义Android菜单背景
  7. android用户界面之菜单(Menu)教程实例汇总
  8. Android菜单
  9. Android的onCreateOptionsMenu()创建菜单Menu详解

随机推荐

  1. Android(安卓)sdk version and API level
  2. 仅layout使用继承TextView,报java.lang.Nu
  3. 2011.06.17)——— android MotionEvent中
  4. android内存溢出的解决方法
  5. android 支持的Html标签
  6. Android(安卓)代码提示无效
  7. Android(安卓)Studio下,gradle project sy
  8. Android(安卓)开发中,px、dip、density 间
  9. Android(安卓)SDK镜像的介绍使用
  10. Android(安卓)adb shell 报错:more than o