現在,我們就可以去修改上一節中的項目瞭。這樣,在用戶按menu鍵的時候就會彈出選項菜單瞭。
1. 使用上一節中的工程,在MenusActivity.java中添加一些代碼。
[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);
Button btn = (Button) findViewById(R.id.button1);
btn.setOnCreateContextMenuListener(this);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View view,
ContextMenuInfo menuInfo)
{
super.onCreateContextMenu(menu, view, menuInfo);
CreateMenu(menu);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
CreateMenu(menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
return MenuChoice(item);
}
private void CreateMenu(Menu menu)
{
……
}
private boolean MenuChoice(MenuItem item)
{
……
}
}
2. 按F11在模擬器上面進行測試。下面展示彈出的選項菜單。選擇一個菜單項或者使用快捷鍵(A到D)。註意一點,1到3的菜單項並沒有顯示出圖標,盡管我們在代碼中設置瞭圖標。
3. 如果在AndroidManifest.xml中設置最小的SDK屬性為10(包括10)以下,然後重新加載程序,就會看見圖標瞭。如果菜單項過多的話,就會顯示一個More的選項。
[java]
<uses-sdk android:minSdkVersion="10" />
想要在Activity中顯示出選項菜單,那麼就需要實現兩個方法:onCreateOptionsMenu()和onOptionsItemSelected()。前者在MENU鍵被點擊的時候被觸發,後者在一個菜單項被點擊的時候被觸發。
註意選項菜單在不同android版本中的樣式。