Android中捕捉menu按鍵點(diǎn)擊事件的方法
本文實(shí)例講述了Android中捕捉menu按鍵點(diǎn)擊事件的方法。分享給大家供大家參考。具體如下:
@Override public boolean onCreateOptionsMenu(Menu menu) { /* * add()方法的四個(gè)參數(shù),依次是: 1、組別,如果不分組的話就寫Menu.NONE, * 2、Id,這個(gè)很重要,Android根據(jù)這個(gè)Id來確定不同的菜單 3、順序,那個(gè)菜單現(xiàn)在在前面由這個(gè)參數(shù)的大小決定 * 4、文本,菜單的顯示文本 */ menu.add(Menu.NONE, Menu.FIRST + 1, 5, "刪除").setIcon(android.R.drawable.ic_menu_delete); // setIcon()方法為菜單設(shè)置圖標(biāo),這里使用的是系統(tǒng)自帶的圖標(biāo),同學(xué)們留意一下,以 // android.R開頭的資源是系統(tǒng)提供的,我們自己提供的資源是以R開頭的 menu.add(Menu.NONE, Menu.FIRST + 2, 2, "保存").setIcon(android.R.drawable.ic_menu_edit); menu.add(Menu.NONE, Menu.FIRST + 3, 6, "幫助").setIcon(android.R.drawable.ic_menu_help); menu.add(Menu.NONE, Menu.FIRST + 4, 1, "添加").setIcon(android.R.drawable.ic_menu_add); menu.add(Menu.NONE, Menu.FIRST + 5, 4, "詳細(xì)").setIcon(android.R.drawable.ic_menu_info_details); menu.add(Menu.NONE, Menu.FIRST + 6, 3, "發(fā)送").setIcon(android.R.drawable.ic_menu_send); // return true才會起作用 return true; } // 菜單項(xiàng)被選擇事件 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case Menu.FIRST + 1: Toast.makeText(this, "刪除菜單被點(diǎn)擊了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 2: Toast.makeText(this, "保存菜單被點(diǎn)擊了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 3: Toast.makeText(this, "幫助菜單被點(diǎn)擊了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 4: Toast.makeText(this, "添加菜單被點(diǎn)擊了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 5: Toast.makeText(this, "詳細(xì)菜單被點(diǎn)擊了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 6: Toast.makeText(this, "發(fā)送菜單被點(diǎn)擊了", Toast.LENGTH_LONG).show(); break; } return false; } // 選項(xiàng)菜單被關(guān)閉事件,菜單被關(guān)閉有三種情形,menu按鈕被再次點(diǎn)擊、back按鈕被點(diǎn)擊或者用戶選擇了某一個(gè)菜單項(xiàng) @Override public void onOptionsMenuClosed(Menu menu) { Toast.makeText(this, "選項(xiàng)菜單關(guān)閉了", Toast.LENGTH_LONG).show(); } // 菜單被顯示之前的事件 @Override public boolean onPrepareOptionsMenu(Menu menu) { Toast.makeText(this, "選項(xiàng)菜單顯示之前onPrepareOptionsMenu方法會被調(diào)用,你可以用此方法來根據(jù)打當(dāng)時(shí)的情況調(diào)整菜單", Toast.LENGTH_LONG).show(); // 如果返回false,此方法就把用戶點(diǎn)擊menu的動(dòng)作給消費(fèi)了,onCreateOptionsMenu方法將不會被調(diào)用 return true; }
希望本文所述對大家的Android程序設(shè)計(jì)有所幫助。
相關(guān)文章
Android開發(fā)之自定義星星評分控件RatingBar用法示例
這篇文章主要介紹了Android開發(fā)之自定義星星評分控件RatingBar用法,結(jié)合具體實(shí)例形式分析了Android自定義評分控件的具體實(shí)現(xiàn)步驟以及功能、布局相關(guān)操作技巧,需要的朋友可以參考下2019-03-03Android Studio升級到3.0 Terminal 中文顯示異常解決
本篇文章主要介紹了Android Studio升級到3.0 Terminal 中文顯示異常解決,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-10-10Android實(shí)現(xiàn)3D云標(biāo)簽效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)3D云標(biāo)簽效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05替換so文件來動(dòng)態(tài)替換Flutter代碼實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了替換so文件來動(dòng)態(tài)替換Flutter代碼實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01Android自定義View實(shí)現(xiàn)左右滑動(dòng)選擇出生年份
這篇文章主要介紹了Android自定義View實(shí)現(xiàn)左右滑動(dòng)選擇出生年份,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-06-06Flutter Http網(wǎng)絡(luò)請求實(shí)現(xiàn)詳解
這篇文章主要介紹了Flutter Http網(wǎng)絡(luò)請求實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04解決android6.0以上不能讀取外部存儲權(quán)限的問題
今天小編就為大家分享一篇解決android6.0以上不能讀取外部存儲權(quán)限的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08android TabHost(選項(xiàng)卡)的使用方法
Android中的選項(xiàng)卡是用TabHost實(shí)現(xiàn)的,下面我們用一個(gè)例子說明他的使用方法2013-11-11