give_it
접속 : 1643   Lv. 44

Category

Profile

Counter

  • 오늘 : 127 명
  • 전체 : 867985 명
  • Mypi Ver. 0.3.1 β
[안드로이드] 안드로이드 옵션메뉴를 만들어보자 (0) 2012/11/04 PM 08:18


프로젝트를 만들어줍니다.

그런데 아이콘 만드는게 편해졌네요



xml 꾸며주세요.

.java로 Go



Source항목에서 Override/Implement Methods를 선택하고 창이 나타나며 onCreateOptionsMenu와 onOptionsItemSelected()를 선택한다. 이렇게 안하고 그냥 직접 코딩됩니다



package com.example.optionsmenu;

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

public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
menu.add(0,1,0, "첫번째");
menu.add(0,2,0, "두번째");
menu.add(0,3,0, "세번째");
menu.add(0,4,0, "네번재");

return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch(item.getItemId()){
case 1 :
Toast.makeText(MainActivity.this, "first", Toast.LENGTH_LONG).show();
break;
case 2 :
Toast.makeText(MainActivity.this, "second", Toast.LENGTH_LONG).show();
break;
case 3 :
Toast.makeText(MainActivity.this, "third", Toast.LENGTH_LONG).show();
break;
case 4 :
Toast.makeText(MainActivity.this, "fourth", Toast.LENGTH_LONG).show();
break;

}

return super.onOptionsItemSelected(item);
}


}


-------------------------------------------------------------------------------

●onCreateOptionsMenu()
- 메뉴 항목 추가
menu.add(그룹번호, 메뉴식별번호, 배치순서, 메뉴에 표시할 타이틀);

- 아이콘 추가와 단축키 추가 - 선택사항
menu.add(0,1,0,"타이틀")
.setShortcut("0","1") //단축키는 0 또는 1
.setIcon(android.R.drawable.아이콘이름); //아이콘 설정




●OptionsItemSelected()
- 보통 다음과 같이 작성합니다.

-여기서 case 1,2,3,4할때 숫자는 메뉴식별번호
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case 1:
//처리하는 부분
break;
case 2:
//처리하는 부분
break;
case 3:
//처리하는 부분
break;
case 4:
//처리하는 부분
break;
}
return true;
}



실행시키시고 메뉴를 눌러보시면 나옵니다.

신고

 
X