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才會(huì)起作用
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方法會(huì)被調(diào)用,你可以用此方法來根據(jù)打當(dāng)時(shí)的情況調(diào)整菜單", Toast.LENGTH_LONG).show();
// 如果返回false,此方法就把用戶點(diǎn)擊menu的動(dòng)作給消費(fèi)了,onCreateOptionsMenu方法將不會(huì)被調(diào)用
return true;
}
希望本文所述對大家的Android程序設(shè)計(jì)有所幫助。
相關(guān)文章
Android中使用CircleImageView和Cardview制作圓形頭像的方法
這篇文章主要介紹了Android中使用CircleImageView和Cardview制作圓形頭像的方法,簡單介紹了CircleImageView和Cardview的使用,需要的朋友可以參考下2016-09-09
Android自定義Scrollbar的兩種實(shí)現(xiàn)方式
本文介紹兩種實(shí)現(xiàn)自定義滾動(dòng)條的方法,分別通過ItemDecoration方案和獨(dú)立View方案實(shí)現(xiàn)滾動(dòng)條定制化,文章通過代碼示例講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2025-03-03
Android利用Sensor(傳感器)實(shí)現(xiàn)水平儀功能
這篇文章主要為大家詳細(xì)介紹了Android利用Sensor傳感器實(shí)現(xiàn)水平儀功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02
Android 彈出Dialog時(shí)隱藏狀態(tài)欄和底部導(dǎo)航欄的方法
這篇文章主要介紹了Android 彈出Dialog時(shí)隱藏狀態(tài)欄和底部導(dǎo)航欄的實(shí)例代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07
在Android中使用WebSocket實(shí)現(xiàn)消息通信的方法詳解
這篇文章主要介紹了在Android中使用WebSocket實(shí)現(xiàn)消息通信的方法詳解,消息推送功能可以說移動(dòng)APP不可缺少的功能之一,使用WebSocket實(shí)現(xiàn)消息推送功能。感興趣的可以了解一下2020-07-07
通過WIFI(不用數(shù)據(jù)線)連接Android手機(jī)調(diào)試
本文主要介紹WIFI 鏈接手機(jī)調(diào)試,這里詳細(xì)介紹了WIFI 鏈接Android手機(jī)實(shí)現(xiàn)調(diào)試的過程,有需要的小伙伴可以參考下2016-08-08
Android自定義控件實(shí)現(xiàn)簡單滑動(dòng)開關(guān)效果
這篇文章主要為大家詳細(xì)介紹了Android自定義控件實(shí)現(xiàn)簡單滑動(dòng)開關(guān)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02

