編輯:Android開發教程
菜單可以用來顯示額外的選項,這些選項也不必出現在主界面中。在Android框架中,主要有2種菜單:
選項菜單 —— 顯示與當前活動有關的信息。使用MENU鍵,可以觸發這個菜單。
上下文菜單 —— 顯示與活動中某一個視圖相關的信息。長按一個視圖,可以觸發這個菜單。
左側是 選項菜單,右側是 上下文菜單。
在使用這兩種菜單之前,我們先介紹一下兩個輔 助方法。一個用來填充菜單中的選項列表,另一個用來處理菜單的選中事件。
1. 創建一個工程: Menus。
2. MenusActivity.java中的代碼。
public class MenusActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } private void CreateMenu(Menu menu) { menu.setQwertyMode(true); MenuItem mnu1 = menu.add(0, 0, 0, "Item 1"); { mnu1.setAlphabeticShortcut('a'); mnu1.setIcon(R.drawable.ic_launcher); } MenuItem mnu2 = menu.add(0, 1, 1, "Item 2"); { mnu2.setAlphabeticShortcut('b'); mnu2.setIcon(R.drawable.ic_launcher); } MenuItem mnu3 = menu.add(0, 2, 2, "Item 3"); { mnu3.setAlphabeticShortcut('c'); mnu3.setIcon(R.drawable.ic_launcher); } MenuItem mnu4 = menu.add(0, 3, 3, "Item 4"); { mnu4.setAlphabeticShortcut('d'); } menu.add(0, 4, 4, "Item 5"); menu.add(0, 5, 5, "Item 6"); menu.add(0, 6, 6, "Item 7"); } private boolean MenuChoice(MenuItem item) { switch (item.getItemId()) { case 0: Toast.makeText(this, "You clicked on Item 1", Toast.LENGTH_LONG) .show(); return true; case 1: Toast.makeText(this, "You clicked on Item 2", Toast.LENGTH_LONG) .show(); return true; case 2: Toast.makeText(this, "You clicked on Item 3", Toast.LENGTH_LONG) .show(); return true; case 3: Toast.makeText(this, "You clicked on Item 4", Toast.LENGTH_LONG) .show(); return true; case 4: Toast.makeText(this, "You clicked on Item 5", Toast.LENGTH_LONG) .show(); return true; case 5: Toast.makeText(this, "You clicked on Item 6", Toast.LENGTH_LONG) .show(); return true; case 6: Toast.makeText(this, "You clicked on Item 7", Toast.LENGTH_LONG) .show(); return true; } return false; } }
在上面的例子中,主要包含2個方法:CreateMenu()和MenuChoice()。
CreateMenu()方法 ,接收一個Menu類型的參數,並且向這個參數中添加一些菜單項。
想要添加一個菜單項,我們就要創 建一個MenuItem類的實例,然後使用Menu對象的add()方法。
MenuItem mnu1 = menu.add(0, 0, 0, "Item 1"); { mnu1.setAlphabeticShortcut('a'); mnu1.setIcon(R.drawable.ic_launcher); }
add()方法有4個參數,我一一來解釋:
groupId —— 如果一個菜單項在一個組中,這就是組的標識符。如果groupID是0的話,說明這個菜單項 不在任何一個組中。
itemID —— 菜單項的唯一標識。
order —— 菜單項顯示的順序。
title —— 菜單項的顯示文字。
另外,我們也可以使用setAlphabeticShortcut()方法去設置一個快捷鍵。這樣就可以使用鍵盤去選擇一 個菜單項。
setIcon() 方法可以為菜單項去設置一個圖片。
最後,MenuChoice()方法接收一 個MenuItem類型的參數,然後檢查它的id去判斷到底是哪個菜單項被選中了,並且彈出一個Toast通知去告訴 用戶他選中了哪個菜單項。
這個例子的Icons Only 和 Icons and marquee 沒有什麼特別好說明的。而Use Remote views in balloon 介紹了可 以自定
RoboGuice最近推出了2.0版本。和1.1相比具有:提高了穩定性支持Fragment更簡潔易用但由於RoboGuice2 不完全向下兼容RoboGuice1.1,因
一.准備1.什麼是MATEclipse提供的一個內存分析工具。它是一個功能豐富的 JAVA 堆轉儲文件分析工具,可以幫助你發現內存漏洞和減少內存消耗。android st
Android的SDK工具包中,有很多十分有用的工具,可以幫助程序員開發和測試Android應用程序,大大提高其工作效率。其中的一款叫Hierachy Viewer的可視