日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android 自定义菜单开发,Android开发学习笔记:浅谈3大类菜单

發布時間:2023/12/15 Android 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 自定义菜单开发,Android开发学习笔记:浅谈3大类菜单 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Android系統中,菜單可以分為三類:選項菜單(Option Menu),上下文菜單(Context Menu)以及子菜單(Sub Menu)。

一.選項菜單(Option Menu)

創建選項菜單的步驟:

1.覆蓋Activity的onCreateOptionMenu(Menu menu)方法,當菜單第一次被打開時調用

2.調用Menu的add( )方法添加菜單項(MenuItem),同時可以調用MenuItem的setIcon( )方法來為菜單項設置圖標

3.當菜單項(MenuItem)被選擇時,覆蓋Activity的onOptionsItemSelected(MenuItem item)來響應事件

選項菜單的實例:

packagecom.android.menu.activity;

importandroid.app.Activity;

importandroid.os.Bundle;

importandroid.view.Menu;

importandroid.view.MenuItem;

publicclassOptionMenuActivityextendsActivity?{

//聲明菜單項常量

privatestaticfinalintITEM_1?=?Menu.FIRST;

privatestaticfinalintITEM_2?=?Menu.FIRST+1;

privatestaticfinalintITEM_3?=?Menu.FIRST+2;

publicvoidonCreate(Bundle?savedInstanceState)?{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

//覆蓋onCreateOptionsMenu(Menu?menu)來添加菜單項

publicbooleanonCreateOptionsMenu(Menu?menu)?{

//android.R使用的是系統自帶的圖標

menu.add(0,?ITEM_1,0,"開始").setIcon(android.R.drawable.ic_media_play);

menu.add(0,?ITEM_2,0,"幫助").setIcon(android.R.drawable.ic_menu_help);

menu.add(0,?ITEM_3,0,"退出").setIcon(android.R.drawable.ic_menu_close_clear_cancel);

returntrue;

}

//覆蓋onOptionsItemSelected(MenuItem?item)來響應菜單選項被單擊事件

publicbooleanonOptionsItemSelected(MenuItem?item)?{

switch(item.getItemId())?{

caseITEM_1:

setTitle("開始游戲!");

break;

caseITEM_2:

setTitle("查看幫助!");

break;

caseITEM_3:

setTitle("退出游戲!");

break;

}

returntrue;

}

}

效果圖:

二.上下文菜單(Context Menu)

創建上下文菜單的步驟:

1.覆蓋Activity的onCreateOptionMenu(Menu menu)方法,調用Menu的add( )方法添加菜單項(MenuItem).

2.覆蓋Activity的onOptionsItemSelected(MenuItem item)來響應事件

3.調用registerForContextMenu( )方法來為視圖注冊上下文菜單

上下文菜單的實例(按住“測試Context Menu”2秒,就會出現上下文菜單):

packagecom.android.context.activity;

importandroid.app.Activity;

importandroid.graphics.Color;

importandroid.os.Bundle;

importandroid.view.ContextMenu;

importandroid.view.Menu;

importandroid.view.MenuItem;

importandroid.view.View;

importandroid.view.ContextMenu.ContextMenuInfo;

importandroid.widget.TextView;

publicclassContextMenuActivityextendsActivity?{

privatestaticfinalintITME_1?=?Menu.FIRST;

privatestaticfinalintITME_2?=?Menu.FIRST+1;

privatestaticfinalintITME_3?=?Menu.FIRST+2;

privateTextView?text;

publicvoidonCreate(Bundle?savedInstanceState)?{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

text?=?(TextView)findViewById(R.id.TextView_1);

//調用registerForContextMenu()來注冊上下文菜單

registerForContextMenu(text);

}

@Override

publicvoidonCreateContextMenu(ContextMenu?menu,?View?v,

ContextMenuInfo?menuInfo)?{

menu.add(0,?ITME_1,0,"紅色背景");

menu.add(0,?ITME_2,0,"藍色背景");

menu.add(0,?ITME_3,0,"白色背景");

}

@Override

publicbooleanonContextItemSelected(MenuItem?item)?{

switch(item.getItemId())?{

caseITME_1:

//設置TextView的背景顏色

text.setBackgroundColor(Color.RED);

break;

caseITME_2:

text.setBackgroundColor(Color.BLUE);

break;

caseITME_3:

text.setBackgroundColor(Color.WHITE);

break;

}

returntrue;

}

}

效果圖:

三.子菜單(Sub Menu)

創建子菜單的步驟:

1.覆蓋Activity的onCreateOptionMenu(Menu menu)方法,調用Menu的addSubMenu( )方法來添加子菜單(Sub Menu)

2.調用SubMenu的add( )方法來添加子菜單(Sub Menu)

3.覆蓋onContextItemSelect( )方法來響應菜單單擊事件

子菜單的實例:

packagecom.android.sub.activity;

importandroid.app.Activity;

importandroid.os.Bundle;

importandroid.view.Menu;

importandroid.view.MenuItem;

importandroid.view.SubMenu;

publicclassSubMenuActivityextendsActivity?{

privatestaticfinalintITEM_1?=?Menu.FIRST;

privatestaticfinalintITEM_2?=?Menu.FIRST+1;

publicvoidonCreate(Bundle?savedInstanceState)?{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

//覆蓋onCreateOptionsMenu(Menu?menu)方法,添加子菜單項

publicbooleanonCreateOptionsMenu(Menu?menu)?{

SubMenu?ad?=?menu.addSubMenu("添加").setIcon(android.R.drawable.ic_menu_add);

SubMenu?re?=?menu.addSubMenu("關閉").setIcon(android.R.drawable.ic_menu_close_clear_cancel);

ad.add(0,?ITEM_1,0,"文件");

ad.add(0,?ITEM_2,0,"圖片");

returntrue;

}

//覆蓋onOptionsItemSelected(MenuItem?item),響應菜單選項被單擊事件

publicbooleanonOptionsItemSelected(MenuItem?item)?{

switch(item.getItemId())?{

caseITEM_1:

setTitle("添加文件!");

break;

caseITEM_2:

setTitle("添加圖片!");

break;

}

returntrue;

}

}

效果圖:

注:menu.add的方法中的參數:

1.int類型的group ID參數,代表的是組概念,你可以將幾個菜單項歸為一組,以便更好的以組的方式管理你的菜單按鈕。可以用到的方法有:

removeGroup(id)

setGroupCheckable(id, checkable, exclusive)

setGroupEnabled(id,boolean enabled)

setGroupVisible(id,visible)

2.int類型的item ID參數,代表的是項目編號。這個參數非常重要,一個item ID對應一個Menu中的選項。在后面使用菜單的時候,就是靠這個item ID來判斷,你選中的是哪個選項。

3.int類型的order ID參數,代表的是菜單項的顯示順序。默認是0,表示菜單的顯示順序就是按照add的順序來顯示。

4.String類型的title參數,表示選項中顯示的文字。

總結

以上是生活随笔為你收集整理的android 自定义菜单开发,Android开发学习笔记:浅谈3大类菜单的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。