Dialog란?
Dialog는 앱 사용 중 작은 창을 띄워 사용자에게 정보를 주거나 상호작용하기 위해 사용된다.
그 중 가장 기본적으로 많이 사용되는 것이 AlertDialog이다.
AlertDialog는 한국어로 알림 대화상자라고 하는데 앱 사용 중 사용자의 간단한 선택이 필요한 경우에 사용한다.
간단한 메세지와 함께 예, 아니오 혹은 취소를 선택하도록 할 수 있다.
AlertDialog 사용법
AlertDialog는 기본적으로 Builder를 이용하여 원하는 내용들을 지정하고 객체를 만들어서 띄우게 된다.
간단한 예시를 통해 알아보자.
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("안내");
builder.setMessage("종료하시겠습니까?");
builder.setIcon(android.R.drawable.ic_dialog_alert);
builder.setPositiveButton("YES", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(), "YES 클릭", Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("NO", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(), "NO 클릭", Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog = builder.create();
dialog.show();
먼저 AlertDialog.Builder 객체를 만들어준다.
이 때 context를 넘겨주어야 하는데 getApplicationContext() 대신 this로 Activity를 넣어야 테마 충돌을 막을 수 있다.
그리고 만들어준 Builder를 통해 타이틀과 메세지, 아이콘 등을 설정해주었다.
예, 아니오 버튼을 눌렀을 때 각각 실행할 코드도 설정해준다.
위의 코드에서는 간단하게 toast를 띄워주도록 했다.
마지막으로 AlertDialog 객체를 만들어 builder의 create() 함수를 통해 원하는 내용의 dialog를 만든 뒤
dialog.show()를 통해 띄워주면 된다.
타이틀, 메세지, 아이콘이 제대로 설정되었고 YES, NO 클릭 시 올바른 toast가 나타난다.
이 외에도 builder의 여러 가지 함수를 통해 다양한 dialog를 만들 수 있다.
Reference
[부스트코스]안드로이드 프로그래밍
'Android > Concepts' 카테고리의 다른 글
Button을 상속받아 커스텀 Button 만들어보기 (0) | 2019.08.08 |
---|---|
나인패치(Nine Patch) 이미지란? (0) | 2019.08.08 |
Toast 사용법 + Snackbar (0) | 2019.08.02 |
기본적인 Event 처리 - Touch, Gesture, Key (0) | 2019.08.01 |
ScrollView 사용법 (0) | 2019.07.30 |