new ->folder(android folder가 있으면 그것을 클릭)





생성하고자하는 프로젝트 res에 접근해 menu라는 폴더 생성




메뉴 폴더에 우클릭 후 new ->other




menu.xml 파일 생성








메뉴


생성되면 하단에 menu.xml 에 접근하여
직접 코딩


<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:id="@+id/seoul"
        android:title="서울"
        android:icon="@drawable/ic_launcher" />
    
    <item android:id="@+id/busan"
        android:title="부산"
        android:icon="@drawable/ic_launcher" />
   
    <item android:id="@+id/submenu"
        android:title="기타" >
    <menu>
        <item android:id="@+id/suwon"
        android:title="수원" />
        
        <item android:id="@+id/jeju"
        android:title="제주" />
        
    </menu>
</item>
</menu>



package com.comonsware.android.menus3;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;

public class MenuXmlDemo extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        TextView myText = new TextView(this);
        myText.setText("메뉴에서 도시를 선택하세요");
        setContentView(myText);
    }
    
    //옵션 메뉴 생성
    public boolean onCreateOptionsMenu(Menu menu){
    	super.onCreateOptionsMenu(menu);
    	
    	//메뉴 인플레이션
    	//res/menu/menu.xml에 사용할 메뉴를 정의한 후에 Activity에서 menu.xml에 정의된
    	//메뉴를 사용하고자 할때 MenuInfalter 객체를 생성해서 xml 형태의
    	//메뉴 정보를 읽어들여서 Activity에서 사용할 수 있는 형태로 가공해서 메뉴를 등록하는 작업 수행
    	MenuInflater inflater = getMenuInflater();
    	inflater.inflate(R.menu.menu,menu);
    	
    	return true;
    }
    public boolean onOptionsItemSelected(MenuItem item){
    	switch(item.getItemId()){
    	case R.id.seoul:
    		Toast.makeText(this,"서울", Toast.LENGTH_SHORT).show();
    		return true;
    	case R.id.busan:
    		Toast.makeText(this,"부산", Toast.LENGTH_SHORT).show();
    		return true;
    	case R.id.suwon:
    		Toast.makeText(this,"수원", Toast.LENGTH_SHORT).show();
    		return true;
    	case R.id.jeju:
    		Toast.makeText(this,"제주", Toast.LENGTH_SHORT).show();
    		return true;
    	}
		return false;
    }
}



+ Recent posts