2010. 4. 15. 10:07
programing/Android
우선 솔직히 Android..아직 잘 모르겠다.
하지만 일단은 하나하나씩 해나가고 있는단계!!
OptionsMenu를 사용하기 위해서는 특별한 것은 없다.
OptionsMenu는 Menu 키를 누름으로써 자동으로 부를 수 있기때문에,
개발자가 따로 OptionsMenu를 불러내기 위한 부분은 필요가 없다.
Dialog를 보여주기 위해서 showDialog(int);로 Dialog를 호출해서 보여주는 이런 코드가 필요없다는 것이다.
생각외로 간단하다는 말!!
우선 Menu 키를 눌렀을때 OptionsMenu를 보여주기 위해서 Method를 하나 작성해야한다
onCreateOptionsMenu()라는 Method이다.
이 안에서는 간단히 어떤 종류의 Menu가 OptionsMenu에 들어갈 것인지 항목을 정해주는 역할을 한다. 여기서는 간단히 Restart와 Quit 두개의 항목만 생성해보겠다.
// 어떤 Menu를 선택했는지를 구분해주어 그에 따라 처리해주기 위한 static 변수
static final int MENU_RESTART = 0;
static final int MENU_QUIT = 1;
// Menu의 항목을 생성하는 Method(OptionsMenu는 6개의 항목까지만 지원한다.)
public boolean onCreateOptionsMenu(Menu menu){
menu.add(0, MENU_RESTART, 0, "Restart");
menu.add(0, MENU_QUIT, 0, "Quit");
return true;
}
static final int MENU_RESTART = 0;
static final int MENU_QUIT = 1;
// Menu의 항목을 생성하는 Method(OptionsMenu는 6개의 항목까지만 지원한다.)
public boolean onCreateOptionsMenu(Menu menu){
menu.add(0, MENU_RESTART, 0, "Restart");
menu.add(0, MENU_QUIT, 0, "Quit");
return true;
}
이 후에는 각 항목에 대한 처리를 해주어야 할 것이다.
// 선택된 항목을 처리하는 Method
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case MENU_RESTART:
// Restart를 하기 위한 처리
Restart();
return true;
case MENU_QUIT:
// Quit를 하기 위한 처리
Quit();
return true;
}
return false;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case MENU_RESTART:
// Restart를 하기 위한 처리
Restart();
return true;
case MENU_QUIT:
// Quit를 하기 위한 처리
Quit();
return true;
}
return false;
}
이것으로 끝이다 간단하지 않이 한가..
해보니까 생각외로 간단하게 끝나서 먼가 불안했지만..이게 다 인것 같다.
앞에서 OptionsMenu의 항목은 최대가 6가지라고 했는데,
이는 Android가 아직은 휴대폰을 위해서 만든 Flatform이라서 휴대폰에서는 화면의 크기가 거의 정해져 있고 또한 화면이 작기 때문이다.
OptionsMenu에서 6개의 항목만 두고, 항목이 더 필요한 경우에는 OptionsMenu에서 하나의 항목을 부Menu로 두고 이를 선택했을 시 팝업 목록을 새로 보여주는 부 Menu를 이용해야 한다.
아직 해보진 않았지만...ㅋㅋㅋ
해보리...중간고사가 끝나면...중간고사때문에 죽겠구먼...ㅠㅠ