본문 바로가기

Study/Programming

안드로이드 대화상자(Dialog) 종류 특징

Hi


안녕하세요 꼬로미입니당당


안드로이드 메뉴의 종류와 특징들에 대해서 포스팅합니다






대화 상자

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


AlertDialog : 0~3개 버튼을 가질 수 있는 기본적인 대화상자

ProgressDialog : 진행을 나타내는 휠이나 바를 표시하는 대화 상자

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

TimePickerDialog : 사용자가 시간을 선택할 수 있도록 하는 대화 상자

커스텀 대화 상자 : 사용자가 직접 대화상자를 작성하려면 Dialog 클래스를 상속받아서 확장 가능

 

대화 상자 생성

showDialog(id) : 애플리케이션 내에서 대화상자 필요시 나타나게 함

onCreateDialog(id) : 특정 대화상차 최초 요청시 호출하는 콜백 메소드, 처음 단 한번만 호출

alertDialog.Builder() : 실제 대화 상자 생성에 builder 객체 사용

onPrepareDialog(int, Dialog) : 대화 상자가 실제로 화면에 표시되기 전에 안드로이드가 호출하는 메소드

대화 상자가 오픈될 때마다 변경해야 할 요소가 있으면 이 메소드를 재정의

dismissDialog(id) : 대화 상자를 화면에서 제거할 때 사용, dismiss()에 의해 Dialog객체 상태 액티비티에 보존

removeDialog(id) 호출시 객체 완전히 제거 가능

 






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


AlterDialog

Dialog 클래스를 상속받은 클래스

AlterDialog.Builder 객체를 생성하고 이 객체의 메소드들을 호출하여 속성을 지정하고 생성

setTitle(charSequence) 대화상자 제목 설정

setItems() - 설정가능한 목록을 추가, 매개변수로 항목의 배열과 OnClickListener를 받음


 

(AlterDialog의 구조)



체크박스, 라디오 버튼 추가

setMultiChoiceItems() - 체크 박스를 부착한 대화상자 작성

setSingleChoiceItems() - 라디오 버튼을 부착한 대화상자

액티비티가 활성화되어 있는 동안 대화 상자가 이전에 선택되었는 항목 기억,

액티비티를 빠져나가면 이전에 선택되었던 항목들의 정보가 사라짐

*setCancelable(false | true) - 모달상자와 비슷한 개념

 




ProgressDialog

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

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

ProgressDialog dialog = ProgressDialog.show(MyActivity.this, "",

                        "Loading. Please wait...", true, true);

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

 

프로그레스 바 형태로 표시

setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 호출

setProgress(30); : 진행정도를 30%로 설정

 





DatePickerDialog 

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





Custom dialog

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

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

 




Bye

읽어주셔서 감사드립니다

도움이 되셨다면 덧글을 부탁드립니다헤헤