앱 만들기/안드로이드

안드로이드의 기술 # 기본 다이얼로그

나도 처음이야 2020. 9. 23.

기본 다이얼로그

 

앱 개발 시 위와 같은 기본 다이얼로그 구현이 필요할 때가 있다.

기본 다이얼로그 역시 매우 많이 사용되는 UI 이기에 정리를 해보자.

간단하게 버튼을 누르면 기본 다이얼로그가 나오도록 구현한다.

 

1. 버튼 동작 함수를 만들고 XML 버튼 onClick 속성에 하기 함수를 추가 한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
    public void DialogButton(View view){
        // 다이얼로그 정보를 관리하는 객체를 생성한다.
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        // 다이얼로그 제목
        builder.setTitle("기본 다이얼로그");
        // 본문 내용
        builder.setMessage("다이얼로그 입니다");
        // 아이콘
        builder.setIcon(R.mipmap.ic_launcher);

// 버튼 동작을 위한 리스너 인스턴스 생성
        DialogListener listener = new DialogListener();
        // 다이얼로그의 버튼을 세팅한다.
        builder.setPositiveButton("네", listener);
        builder.setNeutralButton("다음에" , listener);
        builder.setNegativeButton("아니오", listener);
 
        builder.show();
    }
cs

 

기본 다이얼로그는 복잡하기 보다는 위 코드를 그대로 적용하면 된다.

주석 내용 처럼, 자신이 원하는 각각의 제목, 내용, 아이콘  그리고 버튼을 배치 하면 된다.

 

버튼의 경우, 기본 다이얼로그 에서는 총 3개를 지원 한다.

하지만, 단순히 setPositiveButton, setNegativeButton의 "네/아니오" 버튼 기능만 추가해도 상관 없다.

리스너를 등록하지 않은 상태라도, 실행을 하면 다이얼로그 는 생성된다.

 

2. 다이얼로그 리스너를 만들어서, 버튼을 동작 시키자.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
 class DialogListener implements DialogInterface.OnClickListener{
 
        @Override
// which 로 버튼을 구별할 수 있다.
        public void onClick(DialogInterface dialogInterface, int which) {
            // 버튼 종류 값으로 분기한다.
            switch(which){
                case DialogInterface.BUTTON_POSITIVE:
                    textView.setText("네");
                    break;
 
                case DialogInterface.BUTTON_NEGATIVE:
                    textView.setText("아니오");
                    break;
 
                case DialogInterface.BUTTON_NEUTRAL:
                    textView.setText("다음에");
                    break;
            }
        }
    }
cs

 

다이얼로그 리스너는 implements DialogInterface.OnClickLister 를 implements 한다는 것.

그리고 Which 로 버튼을 구별한 다는 것이 중요한 포인트 이다.

 

Which 로 구별된 case 문에서 

버튼 별 동작 기능을 구현하면 된다.

 

오늘도 1인 개발자 라면 필수적으로 알아야 할

기본 다이얼로그 띄우기를 진행 해보았습니다. 

다음 포스팅에서는 사용자가 직접 만들어서 사용하는 Customer Dialog 를 구현 해 보겠습니다.

감사합니다. 좋은 하루보내세요. :)

반응형

댓글