android--菜单界面

来源:互联网 发布:什么叫erp软件 编辑:程序博客网 时间:2024/05/22 17:25

一、android开发中提供了一些菜单

1.选项菜单:最常规的菜单,android中把它叫做option menu

2.子菜单:android中点击子菜单将弹出悬浮窗口显示子菜单项。

3.上下文菜单:android中长按视图控件后出现的菜单,windows点击右键弹出的菜单即上下文菜单

二、菜单的具体实现步骤

public boolean onCreateOptionsMenu(Menu menu)//定义一下菜单的内容

public boolean onOptionsItemSelected(MenuItem item)//点中菜单后发生的事件

public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) //定义上下文菜单

public boolean onContextItemSelected(MenuItem item)//选中上下文菜单

三 具体代码如下

public boolean onCreateOptionsMenu(Menu menu) {
SubMenu file = menu.addSubMenu("文件");
file.add(1, Menu.FIRST + 20, 1, "新建");
file.add(1, Menu.FIRST + 21, 2, "打开");
file.add(1, Menu.FIRST + 22, 3, "保存");
menu.add(Menu.NONE, Menu.FIRST + 1, 2, "编辑");
menu.add(Menu.NONE, Menu.FIRST + 2, 3, "Refactor");
menu.add(Menu.NONE, Menu.FIRST + 3, 4, "Source");
menu.add(Menu.NONE, Menu.FIRST + 4, 5, "Navigate");
menu.add(Menu.NONE, Menu.FIRST + 5, 6, "Search");
menu.add(Menu.NONE, Menu.FIRST + 6, 7, "Project");
menu.add(Menu.NONE, Menu.FIRST + 7, 8, "Run");
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case Menu.FIRST + 1:
Toast.makeText(this, "你点击了Edit", Toast.LENGTH_LONG).show();
break;
case R.id.action_file:
Toast.makeText(this, "你点击了Menu资源中文件菜单", Toast.LENGTH_LONG).show();
break;
default:
break;
}
return false;
}
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = new MenuInflater(this);
inflater.inflate(R.menu.content_menu, menu);
menu.setHeaderTitle("这是上下文菜单");
menu.setHeaderIcon(R.drawable.abc_ic_ab_back_holo_light);
}


@Override
public boolean onContextItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_edit:
Toast.makeText(this, "你点击了上下文菜单中的编辑菜单!!", Toast.LENGTH_SHORT)
.show();
break;


default:
break;
}
return super.onContextItemSelected(item);
}

0 0
原创粉丝点击