Kong돌이의 코딩이야기

Android Studio 알림 대화상자(Dialog) 만들기 예제 본문

코딩이야기/안드로이드

Android Studio 알림 대화상자(Dialog) 만들기 예제

Kong돌이 2021. 8. 23. 23:32
728x90

네 안녕하세요 오늘은 알림 대화 상자(Dialog)에 대하여 작성하려고 합니다.

알림 대화상자(Dialog)는 토스트와 함께 많이 사용되며 사용자에게 확인을 받거나 무언가를 선택하게 할 때 사용합니다.

보통 알림 대화상자(Dialog)는 사용자에게 입력받기보다는 일방적으로 메시지를 전달하며 예, 아니오 와 같은 전형적인 응답을 처리합니다.

 

자 이제 한번 같이 만들어 볼까요??

 

 

xml 파일에 버튼과 텍스트뷰를 다음과 같이 추가해주세요 그리고 난 후!! 꼭 버튼과 텍스트뷰에 아이디를 지정해주어야 합니다!! 저와 같은 경우는 버튼은 btn_Dialog 텍스트뷰는 tv_Dialog라고 아이디를 지정해주었습니다!!

텍스트 뷰의 사이즈는 알맞게 지정해 주세요!! 자 다 해주셨다면 다음은 메인엑티비티 화면으로 넘어가 볼 텐데요

 

 

 

다음 코드와 같이 설명하겠습니다

 

public class Dialog_msg extends AppCompatActivity {
Button btn_Dialog;
TextView tv_Dialog;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dialog_msg);
btn_Dialog = findViewById(R.id.btn_Dialog);
tv_Dialog = findViewById(R.id.tv_Dialog);
btn_Dialog.setOnClickListener(new View.OnClickListener() {  ------> 1. 버튼에 대한 원클릭 이벤트를 처리해줍니다
@Override
public void onClick(View view) {
showMessage();  ------> 버튼을 클릭했을 때 실행할 메서드를 불러와줍니다! 메서드는 아래 있어요!!
}
});
}

 


public void showMessage(){            ------> 생성한 메서드입니다!
AlertDialog.Builder builder = new AlertDialog.Builder(this);  ------> 여기는 대화 상자를 만들기 위한 빌더 객체를 생성
builder.setTitle("안내");                                                ------> 여기는 대화상자 타이틀(제목)입니다.
builder.setMessage("안녕하세요Kong돌이 입니다.블로그 많이 방문해 주세요 ^^"); ------> 여기는 메시지입니다.
builder.setIcon(android.R.drawable.ic_lock_silent_mode_off);              ------>이건 제가 추가해준 아이콘입니다!


builder.setPositiveButton("", new DialogInterface.OnClickListener() { ------> 대화 상자에 예 버튼을 추가해줍니다
@Override
public void onClick(DialogInterface dialogInterface, int i) {
String message = "예 버튼을 눌렀습니다. 많이 방문해줘요"; ------> 예 버튼을 눌렀을 때 바뀔 텍스트입니다!
tv_Dialog.setText(message);                  ------> tv_Dialog를 message에 담긴 메시지로 변환시켜줍니다!
}
});


builder.setNeutralButton("취소", new DialogInterface.OnClickListener() { ------> 대화 상자에 취소 버튼을 추가
@Override
public void onClick(DialogInterface dialogInterface, int i) {
String message = "취소 버튼을 눌렀습니다";  ------> 취소 버튼 클릭 시 바뀔 텍스트
tv_Dialog.setText(message); ------> tv_Dialog를 변환
}
});


builder.setNegativeButton("아니오", new DialogInterface.OnClickListener() { ------> 대화 상자에 아니오 버튼 추가
@Override
public void onClick(DialogInterface dialogInterface, int i) {
String message ="아니오 버튼은 누르지 마요...";    ------> 클릭 시 바뀔 텍스트 
tv_Dialog.setText(message);                    ------> tv_Dialog를 변환
}
});


AlertDialog dialog = builder.create();      ------> 대화 상자 객체 생성 후 보여주기
dialog.show();                                  ------> show() 꼭 해주세요!!!!!!!!!!!!!!
}
}

 

 

자 이제 완성하셨다면 한번 테스트 진행해 보겠습니다!

 

완성된 Dialog 화면입니다!! 저는 예를 눌러볼게요!! ^&^

 

 

텍스트 뷰가 바뀐 걸 확인하실 수 있습니다!!

자 이상으로 Dialog 만드는 방법 마치겠습니다!!

728x90
반응형
LIST
Comments