2010년 6월 29일 화요일

안드로이드 - OptionsMenu & ContextMenu

안드로이드 메뉴중 OptionsMenu 와 ContextMenu 의 초간단 소스
------------------------------------------------------------------------

package com.android.test1;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.widget.LinearLayout;
import android.widget.TextView;

public class Test1 extends Activity {    

/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //---여기까지 기본--//
        
        //layout/main.xml에 main id를 찾는다
        LinearLayout oViewMain = (LinearLayout)findViewById(R.id.main);
        
        //layout/main.xml에 text1 id를 찾는다
        TextView oViewText1 = (TextView)findViewById(R.id.text1);
        
        //ContextMenu 띄우기위해 선언
        registerForContextMenu(oViewMain);
        registerForContextMenu(oViewText1);
    }
    
    /* 옵션메뉴를 생성 */
    @Override    
public boolean onCreateOptionsMenu(Menu menu) {
     //xml로 optionMenu 띄울때
     //MenuInflater inflater = getMenuInflater();
     //inflater.inflate(R.menu.option_menu, menu); //menu/option_menu.xml에서 참조한다
     //return true;
    
     //메뉴 추가
     menu.add(0, 0, 0, "옵션1번");
     menu.add(0, 1, 0, "옵션2번");
        return true;
}
    
    /* 옵션메뉴를 클릭시 이벤트 */
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
       case 0:
        TextView tv;
        tv = (TextView)findViewById(R.id.text1);
        tv.setText("옵션메뉴1번 클릭!!");
        tv.setTextColor(Color.WHITE);
        tv.setTextSize(16);
        tv.setBackgroundColor(0xFFFF0000);            
           return true;
       case 1:            
           return true;
        }
        return false;
    }
    
    /* 콘텍스트메뉴를 생성 */
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {    
     super.onCreateContextMenu(menu, v, menuInfo);
    
     //메뉴 추가
     menu.add(0, 0, 0, "콘텍스트메뉴1번");
     menu.add(0, 1, 0, "콘텍스트메뉴2번");        
}      
    
    /* 콘텍스트메뉴를  클릭시 이벤트 */
    public boolean onContextItemSelected(MenuItem item) {
 switch (item.getItemId()) {
 case 0:
 TextView tv;
      tv = (TextView)findViewById(R.id.text1);
      tv.setText("콘텍스트메뉴1번 클릭!!");
      tv.setTextColor(Color.YELLOW);
      tv.setTextSize(16);
      tv.setBackgroundColor(0xFFFF0000);
   return true;
 case 1:
   return true;
 default:
   return super.onContextItemSelected(item);
 }
}    
}

0 개의 댓글:

댓글 쓰기