亚洲天堂色av_香蕉黄色一级片_蜜臀av网站_国产足控福利视频一区_久久av伊人_av网址在线

18842388900

網(wǎng)站建設(shè) APP開發(fā) 小程序

Article/文章

記錄成長點滴 分享您我感悟

您當(dāng)前位置>首頁 > 知識 > 網(wǎng)站建設(shè)

Android中的詳細菜單欄

理解Android的菜單

選項菜單:最常見的菜單,在android中稱為選項菜單

子菜單:單擊android中的子菜單將彈出浮動窗口以顯示子菜單項。子菜單不支持嵌套,也就是說,子菜單中不能包含其他子菜單。

上下文菜單:android長按菜單后視圖控件,windows右鍵單擊彈出菜單是上下文菜單

圖標菜單:這個比較簡單,是帶圖標的菜單項,需要注意子菜單項、上下文菜單項、擴展菜單項均無法顯示圖標

替代菜單:使用較少,后來單獨介紹,本文首先跳過(事實上,我還沒想出來o(≧v≦)o ~~)

擴展菜單:選項菜單最多只能顯示6個菜單項。當(dāng)有超過6個項目時,第6個菜單項將被系統(tǒng)替換為名為“更多”的子菜單。原始菜單項不會顯示。

“更多”菜單的子菜單項。如下圖所示

2011082121262981.png2011082121245374.png

每個活動都包含一個菜單。菜單可以包含多個菜單項和多個子菜單。子菜單也是一個菜單(因為它實現(xiàn)了菜單界面),因此子菜單也可以包含多個菜單項。 OnCreateOptionsMenu()和OnOptionsMenuSelected()是用于創(chuàng)建菜單項和響應(yīng)菜單項單擊的活動中提供的兩種回調(diào)方法

1,創(chuàng)建options menu ?選項菜單

[java]查看plaincopy

@override

publicbooleanonCreateOptionsMenu(Menumenu){

//與未來版本兼容

super.onCreateOptionsMenu(菜單);

//以多種方式添加菜單項

//menu.add('menu item 1'); //1,直接指定標題,我不知道如何調(diào)用此響應(yīng)

//menu.add(R.string.menuitem2);//2,按資源指定標題

Menu.add(1,Menu.FIRST,1,'menu item 1'); //3,明確指定菜單項的組號,ID,排序,標題

Menu.add(1,Menu.FIRST + 1,2,'菜單項2');

Menu.add(2,Menu.FIRST + 2,3,'菜單項3');

Menu.add(2,Menu.FIRST + 3,4,'菜單項4');

Menu.add(2,Menu.FIRST + 4,5,'菜單項5');

Menu.add(2,Menu.FIRST + 5,6,'菜單項6'); //超過6將被系統(tǒng)中的更多單詞替換

Menu.add(2,Menu.FIRST + 6,7,'菜單項7');

Menu.add(2,Menu.FIRST + 7,8,'菜單項8');

[java]查看plaincopy

Returntrue; //如果你想要真正的菜單,返回true

響應(yīng)菜單項

最常用的方法是覆蓋活動類的onOptionsItemSelected(MenuItem)回調(diào)方法。每當(dāng)單擊一個菜單項時,android將調(diào)用該方法并傳入單擊的菜單項。

以下代碼可用作使用onOptionsItemSelected方法響應(yīng)菜單的模板。為方便起見,菜單ID在程序中硬編碼。您可以使用常量或資源ID來使代碼更健壯

[java]查看plaincopy

@override

publicbooleanonOptionsItemSelected(MenuItemitem){

開關(guān)(item.getItemId()){

案例1:

//DoSomething的

Toast.makeText(this,'1',Toast.LENGTH_LONG).show();

打破;

案例2:

Toast.makeText(this,'2',Toast.LENGTH_LONG).show();

打破;

案例3:

Toast.makeText(this,'3',Toast.LENGTH_LONG).show();

打破;

案例4:

Toast.makeText(this,'4',Toast.LENGTH_LONG).show();

打破;

默認值:

returnsuper.onOptionsItemSelected(項目);

}

Returntrue;

}

使用監(jiān)聽器響應(yīng)菜單項

雖然上面的方法是推薦的方法,但android仍然提供了一種類似于swing的偵聽器方式來響應(yīng)菜單。使用偵聽器的方法分為兩步:

[java]查看plaincopy

//步驟1:為菜單項

注冊監(jiān)聽器

menuItem.setOnMenuItemClickListener(newMyMenuItemClickListener());

//第2步:創(chuàng)建一個監(jiān)聽器類

classMyMenuItemClickListenerimplementsOnMenuItemClickListener {

@override

publicbooleanonMenuItemClick(MenuItemitem){

開關(guān)(){

//dosomethinghere .

}

Returntrue; //finishhandling

}

}

此方法在onOptionsItemSelected執(zhí)行之前。

[java]查看plaincopy

2,子菜單Sub?Menu

Android支持子菜單,您可以通過addSubMenu(intgroupId,intitemId,intorder,inttitleRes)方法輕松創(chuàng)建和響應(yīng)子菜單。

[java]查看plaincopy

@override

publicbooleanonCreateOptionsMenu(Menumenu){

//與未來版本兼容

super.onCreateOptionsMenu(菜單);

//添加子菜單

//菜單可以有多個子菜單

menu.addSubMenu(1,Menu.FIRST,1,'系統(tǒng)設(shè)置');

SubMenusubMenu=menu.addSubMenu(1,Menu.FIRST + 1,2,'網(wǎng)絡(luò)設(shè)置'); //子菜單支持圖標

subMenu.setIcon(R.drawable.ic_launcher);

MenuItemmenuItem=subMenu.add(2,Menu.FIRST + 2,Menu.NONE,'menu item 1'); //子菜單項不支持顯示圖標

//menuItem.setIcon(R.drawable.ic_launcher);

subMenu.add(2,Menu.FIRST + 3,Menu.NONE,'menu item 2');

subMenu.add(2,Menu.FIRST + 4,Menu.NONE,'menu item 3');

subMenu.add(2,Menu.FIRST + 5,Menu.NONE,'menu item 4');

Returntrue; //如果你想要真正的菜單,返回true

}

2011082511574851.png2011082511584464.png2011082512031395.png

上面的代碼演示了如何創(chuàng)建一個子菜單,其對菜單項的響應(yīng)實際上是普通菜單項的響應(yīng)

3,圖標菜單Icon Menu

Android支持在菜單上顯示各種圖標,我們在創(chuàng)建

上面的子菜單時已經(jīng)使用過這些圖標

[java]查看plaincopy

SubMenusubMenu=menu.addSubMenu(1,Menu.FIRST + 1,2,'網(wǎng)絡(luò)設(shè)置'); //子菜單支持圖標

subMenu.setIcon(R.drawable.ic_launcher);

Android并不意味著菜單項可以添加圖標。不允許使用以下菜單項(這并不意味著程序?qū)蟾驽e誤,但不會顯示運行時圖標):

擴展菜單項。

子菜單的菜單項

上下文菜單的菜單項

4,ContextMenu簡介

在Windows中,我們習(xí)慣右鍵單擊文件以執(zhí)行“打開”,“重命名”,“剪切”,“刪除”等操作。右鍵單擊菜單是上下文菜單。

Android是通過長按視圖元素來彈出上下文菜單。

上下文菜單和“選項”菜單之間的最大區(qū)別在于“選項”菜單的所有者是“活動”,上下文菜單的所有者是“活動”中的“視圖”。每個活動都有一個且只有一個選項菜單,它為整個活動提供服務(wù)。并且一個Activity通常有多個Views,而不是每個View都有一個上下文菜單,這需要我們通過

顯示

registerForContextMenu(Viewview)指定。

這是一個演示如何創(chuàng)建和響應(yīng)上下文菜單的演示:

1.在活動的onCreate(.)方法

中注冊視圖的上下文菜單

2.在onCreateContextMenuInfo(.)中生成上下文菜單。

3.響應(yīng)onContextItemSelected(.)中的上下文菜單項。

2011082715585751.png2011082715591621.png

[java]查看plaincopy

publicclassMenuDemoActivityextendsActivity {

privateListViewlistView;

@override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

的setContentView(R.layout.main);

initView(); //做一些初始化工作

}

privatevoidinitView(){

的ListView=(ListView中)this.findViewById(R.id.listview);

listView.setAdapter(newMyAdapter());

this.registerForContextMenu(listView); //1為所有列表項注冊上下文菜單,與響應(yīng)事件不同

}

//向ListView提供一些數(shù)據(jù)

privateclassMyAdapterextendsBaseAdapter {

publicintgetCount(){

Return5;

}

publicObjectgetItem(intposition){

//TODOAuto-generatedmethodstub

Returnnull;

}

publiclonggetItemId(intposition){

//TODOAuto-generatedmethodstub

Return0;

}

publicViewgetView(intposition,ViewconvertView,ViewGroupparent){

TextViewtv=newTextView(MenuDemoActivity.this);

tv.setText( '文件' +位);

Returntv;

}

}

@override

//2C創(chuàng)建一個上下文菜單

publicvoidonCreateContextMenu(ContextMenumenu,Viewv,

ContextMenuInfomenuInfo){

super.onCreateContextMenu(菜單,V,menuInfo);

menu.setHeaderTitle('file operation');

Menu.add(1,Menu.FIRST,Menu.NONE,'send');

Menu.add(1,Menu.FIRST + 1,Menu.NONE,'標記為重要');

Menu.add(1,Menu.FIRST + 2,Menu.NONE,'Rename');

Menu.add(1,Menu.FIRST + 3,Menu.NONE,'delete');

}

@override

//3響應(yīng)上下文菜單

publicbooleanonContextItemSelected(MenuItemitem){

開關(guān)(item.getItemId()){

案例1:

Toast.makeText(this,'send',1).show();

打破;

案例2:

Toast.makeText(這個,'標記為重要',1).show();

打破;

案例3:

Toast.makeText(this,'rename',1).show();

打破;

案例4:

Toast.makeText(this,'delete',1).show();

打破;

默認值:

returnsuper.onContextItemSelected(項目);

}

Returntrue;

}

}

運行程序,多次調(diào)用上下文菜單,注意LogCat的輸出,每次都調(diào)用onCreateContextMenu。

標簽:& nbsp& nbsp沈陽app開發(fā)&營銷類型網(wǎng)站建設(shè)& nbsp沈陽App設(shè)計& nbspAndroid菜單欄詳細說明

網(wǎng)站建設(shè),小程序開發(fā),小程序制作,微信小程序開發(fā),公眾號開發(fā),微信公眾號開發(fā),網(wǎng)頁設(shè)計,網(wǎng)站優(yōu)化,網(wǎng)站排名,網(wǎng)站設(shè)計,微信小程序設(shè)計,小程序定制,微信小程序定制

相關(guān)案例查看更多

主站蜘蛛池模板: 久久综合五月 | 秋霞国产精品一区二区 | 在线看v片 | 亚洲精品久久久久久动漫 | 国产亚洲一区二区在线观看 | 日本最新不卡在线 | 大乳喷奶水www免费视频 | 国产suv精二区一片 日韩精品伦理第一区 | 黄色大片网站在线观看 | 久久免费精品 | 一级片aaaaaa | 午夜影院免费在线观看 | 亚洲色AV性色在线观看 | 中国真实的国产乱xxxx | 中文字幕视频一区二区 | 两个人看的www中文在线观看 | 超碰97人人艹 | 蜜臀亚洲AV无码之国产精品 | 久久99久久99免费视频 | 国产欧美在线视频 | 亚洲第一天堂无码专区 | 国产有码av| 男人边吃奶边做呻吟免费视频 | 日韩精品伦理第一区 | 三级福利在线 | 国产美女在线精品免费 | 初撮人妻丰满四十路无码 | 日日夜夜逼 | 疯狂按揉小核让她喷水h | 国产亚洲精品久久久久丝瓜 | 欧美成人A片无码免费 | 大色综合视频网站在线播放 | 免费视频网站在线免费观看 | 免费播放片| gogogo视频在线观看 | JK制服爆乳裸体自慰流水免费 | 精品 一区 在线 | 色哟哟网页| 欧美午夜少妇 | 四色成人av永久网址 | 欧美老妇毛葺葺BBXX |