菜單資源文件必須放在res/menu目錄中。菜單資源文件必須使用menu標(biāo)簽作為根節(jié)點(diǎn)。除了menu標(biāo)簽外,還有另外兩個(gè)標(biāo)簽用于設(shè)置菜單項(xiàng)和分組,這兩個(gè)標(biāo)簽是item和group。
張家港網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,張家港網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為張家港1000多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的張家港做網(wǎng)站的公司定做!
menu標(biāo)簽沒(méi)有任何屬性,但可以嵌套在item標(biāo)簽中,表示子菜單的形式。不過(guò)item標(biāo)簽中不能再嵌入item標(biāo)簽。
1.item標(biāo)簽的屬性含義如下:
Id:表示菜單項(xiàng)的資源ID
menuCategory:同種菜單項(xiàng)的種類(lèi)。該屬性可取4個(gè)值:container、system、secondary和alternative。通過(guò)menuCategroy屬性可以控制菜單項(xiàng)的位置。例如將屬性設(shè)為system,表示該菜單項(xiàng)是系統(tǒng)菜單,應(yīng)放在其他種類(lèi)菜單項(xiàng)的后面。
orderInCategor:同種類(lèi)菜單的排列順序。該屬性需要設(shè)置一個(gè)整數(shù)值。例如menuCategory屬性值都為system的3個(gè)菜單項(xiàng)(item1、item2和item3)。將這3個(gè)菜單項(xiàng)的orderInCategory屬性值設(shè)為3、2、1,那么item3會(huì)顯示在最前面,而item1會(huì)顯示在最后面。
title:菜單項(xiàng)標(biāo)題(菜單項(xiàng)顯示的文本)
titleCondensed:菜單項(xiàng)的短標(biāo)題。當(dāng)菜單項(xiàng)標(biāo)題太長(zhǎng)時(shí)會(huì)顯示該屬性值
icon:菜單項(xiàng)圖標(biāo)資源ID
alphabeticShortcut:菜單項(xiàng)的字母快捷鍵
numericShortcut:菜單項(xiàng)的數(shù)字快捷鍵
checkable:表示菜單項(xiàng)是否帶復(fù)選框。該屬性可設(shè)計(jì)為true或false
checked:如果菜單項(xiàng)帶復(fù)選框(checkable屬性為true),該屬性表示復(fù)選框默認(rèn)狀態(tài)是否被選中??稍O(shè)置的值為true或false
visible:菜單項(xiàng)默認(rèn)狀態(tài)是否可視
enable:菜單項(xiàng)默認(rèn)狀態(tài)是否被激活
要想讓menu按鍵顯示在系統(tǒng)導(dǎo)航欄旁,需要改變AndroidManifest內(nèi)的
內(nèi)的最小
sdk版本。最高為10,不得高于10,否則無(wú)法現(xiàn)實(shí)在系統(tǒng)導(dǎo)航欄旁。個(gè)人想法是:Android3.0后加入了ActionBar控件和虛擬的按鍵,而ActionBar整合了menu功能導(dǎo)致android3.0以上的menu按鈕只能現(xiàn)實(shí)在ActionBar上,無(wú)法顯示在系統(tǒng)導(dǎo)航欄旁。
android 中的menu一般是指上下文菜單或者是選項(xiàng)菜單 其中上選項(xiàng)菜單是可以在布局中res下的menu中在xml布局中寫(xiě)好布局來(lái)的然后通過(guò)java代碼中的onCreateOptionsMenu來(lái)加載選項(xiàng)菜單,android4.4高級(jí)版本后是自動(dòng)把菜單加載到標(biāo)題欄上的,而不是低版本的按下menu鍵才顯是出來(lái)的,上下文菜單是是通過(guò)onCreateContextMenu這個(gè)方法來(lái)注冊(cè)上下文菜單的 下面講講如何獲取menu中的item 獲取上下文菜單的item其實(shí)就是當(dāng)單機(jī)選項(xiàng)菜單時(shí)會(huì)觸發(fā)這個(gè)方法 public boolean onContextItemSelected(MenuItem mi){//判斷單擊的是哪個(gè)菜單項(xiàng),并針對(duì)性的作出響應(yīng)。switch (mi.getItemId()){case FONT_RED:title.setTextColor(Color.RED);break;case FONT_GREEN:title.setTextColor(Color.GREEN);break;case FONT_BLUE:title.setTextColor(Color.BLUE);break;case MENU1:createdialog();break;}return true;}獲取選項(xiàng)菜單的item其實(shí)就是當(dāng)單擊選項(xiàng)菜單時(shí)會(huì)觸發(fā)這個(gè)方法public boolean onMenuItemSelected(int featureId, MenuItem item) {// 利用switch根據(jù)ItemId區(qū)分點(diǎn)擊的是哪個(gè)菜單 以便正確響應(yīng)用戶(hù)操作MenuItem temp= item;switch (item.getItemId()) {case R.id.rename:createdialog();break;case R.id.red:title.setTextColor(Color.RED);break;case R.id.green:title.setTextColor(Color.GREEN);break;case R.id.blue:title.setTextColor(Color.BLUE);break; // case R.id.choose_color: // createpopupmenu(temp); // break;}return super.onMenuItemSelected(featureId, item);}