Android 功能表項目選項

來源:互聯網
上載者:User
正如你所熟悉的那樣,Android支援大多數傳統的功能表項目選項,包括icon、shortcut、checkbox和radio button,如下描述: Checkboxes和Radio ButtonsCheckboxes和radio buttons作為功能表項目在擴充菜單和子功能表中可見,4-6所示。設定功能表項目為checkbox,使用setCheckable方法。checkbox的狀態由setChecked方法控制。 Radio button組是一組顯示迴圈選擇的按鈕,每一次只能選擇其中一個項目。在同一個組裡,如果選擇了一個,那麼其它的自動變成未選擇狀態。建立radio button組,需要指定相同的組ID給每一個項目,然後調用menu.setGroupCheckable方法,傳入組ID,並將其它參數指定為true。 Checkbox在表徵圖菜單中不可見,所以,表示為checkbox的功能表項目請保留給子功能表和擴充菜單使用。下面的程式碼片段給出了如何添加一個checkbox和一組三個radio button: // Create a new check box item.menu.add(0, CHECKBOX_ITEM, Menu.NONE, “CheckBox”).setCheckable(true); // Create a radio button group.menu.add(RB_GROUP, RADIOBUTTON_1, Menu.NONE, “Radiobutton 1”);menu.add(RB_GROUP, RADIOBUTTON_2, Menu.NONE, “Radiobutton 2”);menu.add(RB_GROUP, RADIOBUTTON_3, Menu.NONE,  “Radiobutton 3”).setChecked(true);menu.setGroupCheckable(RB_GROUP, true, true); Shortcut Keys你可以使用setShortcut方法給功能表項目指定快速鍵。每一次調用setShortcut需要兩個快速鍵,一個是數字鍵,另一個可以是全鍵盤中的鍵。任何鍵不區分大小寫。 下面的程式碼片段給出了如何為兩種模式設定快速鍵: // Add a shortcut to this menu item, ‘0’ if using the numeric keypad// or ‘b’ if using the full keyboard.menuItem.setShortcut(‘0’, ‘b’); Condensed Titles表徵圖菜單不顯示快速鍵和checkbox,所以它需要經常修改它顯示的文本來顯示它的狀態。接下來的代碼給出了如何為表徵圖菜單設定指定的文本: menuItem.setTitleCondensed(“Short Title”); IconsIcon是drawable資源ID,用來在功能表項目中顯示。Icons只能在表徵圖菜單中顯示;它們在擴充菜單和子功能表中不可見。下面的程式碼片段給出了如何為功能表項目應用表徵圖: menuItem.setIcon(R.drawable.menu_item_icon); Menu Item Click Listener當功能表項目被選擇時會執行的事件處理函數。考慮到效率的因素,這種做法不提倡;作為替代,功能表項目的選擇應該被onOptionsItemSelected處理器處理,如這個章節的後面所示。應用一個click listener到功能表項目上,使用下面程式碼片段所示的樣式: menuItem.setOnMenuItemClickListener(new OnMenuItemClickListener() { public boolean onMenuItemClick(MenuItem _menuItem) {[ ... execute click handling, return true if handled ... ]return true;}}); Intents當點擊功能表項目沒有被MenuItemClickListener或Activity的onOptionsItemSelected處理函數處理的話,指定給功能表項目的Intent就會被觸發。觸發時,Android會執行startActivity,傳入一個指定的Intent。下面的程式碼片段給出了如何指定一個Intent給功能表項目: menuItem.setIntent(new Intent(this, MyOtherActivity.class));
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.