在Android应用程序中菜单是用户界面中最常见的元素之一,使用非常频繁。通常Android应用程序中的菜单默认是不可见的,只有当用户单击手机上的“Menu”键,系统才会显示该应用关联的菜单。所以一般的Android系统的手机都要有一个"Menu"键。Android主要有两种菜单:选项菜单(OptionsMenu)和上下文菜单(Context Menu)。
选项菜单(Options Menu)作用于全局界面。点击“Menu”键弹出菜单,应用程序中将较少使用的命令放入此菜单中,或者界面中信息密度多大,部分命令无法完全显示时,可对选项菜单加以利用。使用触摸屏无法调用此功能。
Android提供了两种创建菜单的方法,一种是在java代码中创建,另一种是使用xml资源文件定义
一、效果图:
二、页面布局
三、代码实现
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
//Ctrl+o
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(Menu.NONE,Menu.FIRST+1,3,"保存").setIcon(android.R.drawable.ic_menu_save);
menu.add(Menu.NONE,Menu.FIRST+1,3,"保存").setIcon(android.R.drawable.ic_menu_save);
menu.add(Menu.NONE,Menu.FIRST+2,4,"删除").setIcon(android.R.drawable.ic_menu_delete);
menu.add(Menu.NONE,Menu.FIRST+3,2,"编辑").setIcon(android.R.drawable.ic_menu_edit);
menu.add(Menu.NONE,Menu.FIRST+4,5,"添加").setIcon(android.R.drawable.ic_menu_add);
menu.add(Menu.NONE,Menu.FIRST+5,1,"详情").setIcon(android.R.drawable.ic_menu_info_details);
menu.add(Menu.NONE,Menu.FIRST+6,6,"帮助").setIcon(android.R.drawable.ic_menu_help);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId())
{
case Menu.FIRST+1:Toast.makeText(this,"保存菜单事件",Toast.LENGTH_SHORT).show();
break;
case Menu.FIRST+2:Toast.makeText(this,"删除菜单事件",Toast.LENGTH_SHORT).show();
break;
case Menu.FIRST+3:Toast.makeText(this,"编辑菜单事件",Toast.LENGTH_SHORT).show();
break;
case Menu.FIRST+4:Toast.makeText(this,"添加菜单事件",Toast.LENGTH_SHORT).show();
break;
case Menu.FIRST+5:Toast.makeText(this,"详情菜单事件",Toast.LENGTH_SHORT).show();
break;
case Menu.FIRST+6:Toast.makeText(this,"帮助菜单事件",Toast.LENGTH_SHORT).show();
break;
}
return false;
}
}
领取专属 10元无门槛券
私享最新 技术干货