안규 공부방

Android > Dialog - 안드로이드 Dialog 종류 와 특징

등록일 : 2017-07-06 17:25 조회수 : 94,066

대화 상자

현재 액티비티 앞에서 보여지는 작은 윈도우로 정의, 대화상자 등장시 현재 액티비티는 포커스를 잃음용도

1. AlertDialog : 0~3개 버튼을 가질 수 있는 기본적인 대화상자
2. ProgressDialog : 진행을 나타내는 휠이나 바를 표시하는 대화 상자
3. DatePickerDialog : 사용자가 날짜를 선택할 수 있도록 하는 대화 상자
4. TimePickerDialog : 사용자가 시간을 선택할 수 있도록 하는 대화 상자
5. 커스텀 대화 상자 : 사용자가 직접 대화상자를 작성하려면 Dialog 클래스를 상속받아서 확장 가능

대화 상자 생성
showDialog(id) : 애플리케이션 내에서 대화상자 필요시 나타나게 함
onCreateDialog(id) : 특정 대화상차 최초 요청시 호출하는 콜백 메소드, 처음 단 한번만 호출
alertDialog.Builder() : 실제 대화 상자 생성에 builder 객체 사용
onPrepareDialog(int, Dialog) : 대화 상자가 실제로 화면에 표시되기 전에 안드로이드가 호출하는 메소드
대화 상자가 오픈될 때마다 변경해야 할 요소가 있으면 이 메소드를 재정의
dismissDialog(id) : 대화 상자를 화면에서 제거할 때 사용, dismiss()에 의해 Dialog객체 상태 액티비티에 보존
removeDialog(id) 호출시 객체 완전히 제거 가능


많이 보시던 화면이죠?ㅎㅎㅎ

1. AlterDialog

Dialog 클래스를 상속받은 클래스
AlterDialog.Builder 객체를 생성하고 이 객체의 메소드들을 호출하여 속성을 지정하고 생성
setTitle(charSequence) 대화상자 제목 설정
setItems() - 설정가능한 목록을 추가, 매개변수로 항목의 배열과 OnClickListener를 받음



(AlterDialog의 구조)


체크박스, 라디오 버튼 추가
setMultiChoiceItems() - 체크 박스를 부착한 대화상자 작성
setSingleChoiceItems() - 라디오 버튼을 부착한 대화상자
액티비티가 활성화되어 있는 동안 대화 상자가 이전에 선택되었는 항목 기억,
액티비티를 빠져나가면 이전에 선택되었던 항목들의 정보가 사라짐
setCancelable(false | true) - 모달상자와 비슷한 개념

 


2. ProgressDialog

AlertDialog 클래스의 확장으로 휘링나 바의 형태로 작업의 진행 정도를 표시하는 클래스

진행정도를 알수 없는 경우 휠이 사용, 진행정도를 파악할 수 있느 경우 바가 사용

ProgressDialog dialog = ProgressDialog.show(MyActivity.this, "","Loading. Please wait...", true, true);

매개변수 : 현재 액티비티, 제목, 메시지, 진행정도 확정/불확정 여부, 취소 가능 여부

프로그레스 바 형태로 표시

setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 호출
setProgress(30); : 진행정도를 30%로 설정

 
3. DatePickerDialog

사용자가 날짜를 선택할 수 있도록 하는 대화 상자


5. Custom dialog

사용자가 임의로 대화상자를 디자인하는 상자

이미지 뷰와 텍스트 뷰 등을 사용해 대화상자를 만들기가 가능


 
※ 혹시 도움이 되셨다면 댓글에 한마디 남겨주세요!
작성자   비밀번호
자동글 방지     (자동글 방지 기능입니다.)
내용   댓글달기 
이메일 문의 : cak0280@nate.com  
Copyright 2000 By ENTERSOFT.KR All Rights Reserved.