Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android通過XML來定義Menu

Android通過XML來定義Menu

編輯:關於android開發

Android通過XML來定義Menu




直接在代碼中添加菜單項,給菜單項分組等,這是比較傳統的做法,它存在著一些不足。
比如說,為了響應每個菜單項,我們需要用常量來保存每個菜單項的ID等。
為此,Android提供了一種更好的方式,就是把menu也定義為應用程序的資源,通過android對資源的本地支持,使我們可以更方便地實現菜單的創建與響應。b
本文就介紹如何使用XML文件來加載和響應菜單,我們需要做這幾步:


1.在/res目錄下創建menu文件夾
2.在menu目錄下使用與menu相關的元素定義xml文件,文件名是隨意的,android會自動為其生成資源ID。
例如:R.menu.menu對應menu目錄的menu.xml資源文件
3.使用xml文件的資源ID,將xml文件中定義的菜單項添加到menu對象中
4.響應菜單項時,使用每個菜單項對應的資源ID。


package cn.fansunion.menu;


import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Toast;
import cn.fansunion.R;


public class OptionMenuWithXmlActivity extends Activity {
	
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.option_menu);
	}


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


	public boolean onOptionsItemSelected(MenuItem item) {
		switch (item.getItemId()) {
		case R.id.menu_one:
			Toast.makeText(this, 你點擊了menu_one, Toast.LENGTH_LONG).show();
			break;
		case R.id.submenu_one:
			Toast.makeText(this, 你點擊了submenu_one, Toast.LENGTH_LONG).show();
			break;
		default:
			return super.onOptionsItemSelected(item);
		}
		return true;
	}
}

 
 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved