2010년 11월 29일 월요일

Option Menu 만들기

private static final int MENU_LOGIN = 1;
private static final int MENU_SETTING = 2;
private static final int MENU_LOGOUT = 3;
private static boolean IsLogin = false;

// 초기 메뉴 생성시 호출
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    if (IsLogin)
        menu.add(0, MENU_LOGOUT, 1, "로그아웃");
    else
        menu.add(0, MENU_LOGIN, 1, "로그인");
    menu.add(0, MENU_SETTING, 2, "셋팅");
    return true;
}

//메뉴 버튼 눌렀을 때 호출
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    menu.removeGroup(0);
    if (IsLogin)
        menu.add(0, MENU_LOGOUT, 1, "로그아웃");
    else
        menu.add(0, MENU_LOGIN, 1, "로그인");
    menu.add(0, MENU_SETTING, 2, "셋팅");
    return true;    
}

//메뉴를 선택했을 때 각 메뉴마다 동작 처리
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    Intent intent;
    switch (item.getItemId())
    {
        case MENU_LOGIN :
            /* 로그인 동작 */
            IsLogin = true;
            return true;
        case MENU_SETTING :
            /* 셋팅으로 이동 */
            return true;
        case MENU_LOGOUT :
            /* 로그아웃 동작 */
            IsLogin = false;
            return true;
    }
    return false;
}

댓글 없음: