City At Night

[Android Studio] AlertDialog로 팝업 메세지를 띄워보자! 본문

Android Studio

[Android Studio] AlertDialog로 팝업 메세지를 띄워보자!

Wuny 2021. 1. 24. 15:02
728x90
반응형

AlertDiaolog는 사용자에게 결정을 내리거나 추가 정보를 입력하라는 메시지를 표시하는 작은 창입니다. 대화상자는 화면을 가득 채우지 않으며 보통은 사용자가 다음으로 계속 진행하기 전에 조치를 취해야 하는 모달 이벤트에 사용됩니다.

Toast는 메세지를 띄우고 일정시간이 지나면 사라지는 반면 AlertDialog는 팝업창을 생성하고 버튼 추가 및 이벤트를 설정할 수 있습니다. 

출처: 안드로이드 Documention

 

위 안드로이드 공식문서에 올라온 사진과 같이 숫자를 카운트할 수 있고 PositiveButton과 Neutral Button을 생성할 수 있습니다. 추가로 Negative Button을 생성할 수 있습니다. 

저는 버튼을 누르면 AlertDialog창이 띄워지고 버튼 3개가 생성되는걸 만들어보았고 3개의 버튼 기능은 구현하지 않도록 하겠습니다.

    public void btnOnclick(View view) {
        switch (view.getId()){
            case R.id.button:
                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.setTitle("This is Title");
                builder.setMessage("여기에는 메세지가 담깁니다.");
                builder.setIcon(android.R.drawable.ic_dialog_alert);

                // Yes 버튼 및 이벤트 생성
                builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        //Pass
                    }
                });
                //Cancel 버튼 및 이벤트 생성
                builder.setNeutralButton("Cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        //Pass
                    }
                });

                //No 버튼 및 이벤트 생성
                builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        //Pass
                    }
                });
                AlertDialog dialog = builder.create();
                dialog.show();
              }

 

Builder를 만들고 builder에 버튼과 이벤트를 작성한 다음 

꼭 AlertDialog에 빌더를 집어 넣어주신다음 실행 시켜야 나옵니다!

 

 

다음 포스터에서는 이러한 Dialog를 Custom한 CustomDialog에 대해 포스팅하겠습니다! 

더 실용성이 높은 다이아로그입니다!

 

728x90
반응형
Comments