在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;
}
}