菜單(Menu)的三中建立方式——Android開發之路2,menuandroid
菜單的三種建立方式
一、OptionsMenu---選項菜單
Android應用中的菜單預設是隱藏的,只有當使用者點擊手機上的MENU鍵,系統才會顯示菜單。這種菜單叫做選項菜單(Options Menu)或系統功能表。從3.0開始,Android不要求手機裝置上必須提供MENU按鍵。因此Android推薦使用ActionBar來代替Menu。在不同的版本中菜單顯示效果有差異
二、ContextMenu---操作功能表
三、PopupMenu---彈出式菜單
可以在指定的組件上設定彈出式菜單,預設情況下,彈出式菜單會顯示在該組件的下方或者上方,PopupMenu可增加多個功能表項目,也可以為功能表項目增加子功能表項。
建立步驟:
1、調用new PopupMenu(MainActivity.this,View view),view代表激發快顯功能表的組件。
2、調用MenuInflater()方法將菜單填充到PopupMenu。
3、調用PopupMenu的show方法顯示彈出式菜單。
代碼案例:
點擊一個按鈕,快顯功能表項
@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @SuppressLint("NewApi") public void getItem(View view) { // 建立彈出式菜單 PopupMenu popupMenu = new PopupMenu(MainActivity.this, view); // 擷取菜單對象 Menu menu = popupMenu.getMenu(); // 添加菜單選項 menu.add("尋找"); menu.add("刪除"); popupMenu.show();// 顯示菜單 // 設定功能表項目的監聽事件,Toast點擊的功能表項目的內容 popupMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { Toast.makeText(MainActivity.this, item.getTitle(), 0).show(); return false; } }); }