Home 主頁 Service 服務計畫 Android App 手機程式 Expertise 專業領域 Blog 博客 Download 下載 FAQ 網頁製作常見問題 Support 支援 Links 友情連結 Contact Us 聯絡我們

7 - 建立Option Menu

發佈: 08-05-2011

分類: Android 開發教學

第七課:建立option menu

本文介紹如何為activity加上option menu。Option menu是android提供menu的其中之中。 使用也很容易,教早前也提及android支持以xml去定義你的meun,然後把它吹脹成menu的object。這大大減少了建立 menu的時間,而且不用更改java,十分方便。

首先,新增一個名為OptionMenuTest的android project。在res中加入一個名為menu的新folder,在此加入一個mymenu.xml的文件。 把以下的xml寫入該文件。


    
    

上面定義了兩個menu item,miAbout和miCallMe。你也可以設定text和icon。完成後打開OptionMenuTestActivity,筆者希望把這menu加到這個activity。 在這activity override onCreateOptionsMenu()和onOptionsItemSelected()。在onCreateOptionsMenu()中,我們以menuInflater 去吹脹這個xml的menu object。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
  MenuInflater inflater = getMenuInflater();
  inflater.inflate(R.menu.mymenu, menu);
  return true;
}

在onOptionsItemSelected()中,用傳來的MenuItem的getItemId()去找出用戶在按那個MenuItem。跟據id,我們就可以作出不同的反應。 在miAbout的case中加入showAbout(),在miCallMe的case中加入callMe()。 showAbout()和callMe()都是你將要自己定義的function,你可以運用前兩課學到的implicit intent及explict intent,跳去其他activity。 在youtube中或source中便可找到相關的coding。

@Override
public boolean onOptionsItemSelected(MenuItem item) {
  // 
  switch (item.getItemId())
  {
    case R.id.miAbout:
      showAbout();
      return true;
    case R.id.miCallMe:
      callMe();
      return true;
    default:
      return super.onOptionsItemSelected(item);
  }
}

我們還要做一個AboutDetail的activity,它的xml layout。由於前一課已學過了,這裡就不再說明。Youtube已記錄了全部步驟。最後把所有的activity和permission 加到AndroidManifest.xml中。測試時,你須按下menu按鈕,option menu才會顯示在下方。

Download: Source code

訪客: Copyright ©2011 KF Software House 版權所有 | 網站地圖