카테고리 없음

오늘의 코딩 Android Activity로 Dialog 만들기

abc0123 2018. 1. 20. 23:30
반응형

 

Android App에서 사용자에게 어떤 선택을 요구하게 될 때는 보통 Dialog 대화창을 열어서 선택하게 하는 게 보통이고 안드로이드에서는 기본 Dialog를 제공해주고 있죠. 그런데 앱의 특성에 맞게 조금은 특별한 녀석을 만들고 싶을 때는 Activity 하나를 Dialog로 사용하는 것도 좋은 방법일 거 같아서 이번 글에서는 Activity로 나만의 Dialog를 만들어보려고 합니다.

 

예제에서는 MainActivity와 DailogActivity를 만든 후 Main에 버튼을 클릭했을 때 대화창 형식의 액티비티가 열리는 내용의 코딩을 해볼 텐데요. 먼저 두 액티비티의 화면부터 만들겠습니다.

 

1. 두 개의 액티비티 만들고 화면 구성

 

main

▲ 일단 Main 화면은 이렇게 구성을 해봤습니다. 배경에 적당한 이미지를 넣고요. 아래쪽에 버튼을 하나 넣어서 이걸 클릭하면 Intent를 통해서 DialogActivity가 열리게 할거구요.

 

 

Dialog

▲ DialogActivity는 이처럼 Main과 똑같은 배경 이미지를 흐리게 만들어서 배경으로 넣었습니다. 이러면 같은 화면 상에서 배경이 흐려지면서 Dialog만 뜨는것 같은 효과를 만들 수 있겠죠? 중앙에 대화창은 'LinearLayout'을 이용해서 적당한 이미지와 TextView 그리고 버튼을 넣어서 구성을 해봤는데... 디자인 쪽으로는 소질이 없어서 조금 허접하지만 여러분은 좀 더 세련되게 구성할 수 있을 거예요.^^

 

2. Intent를 이용한 화면 전환

 

이제 MainActivity에서 버튼 객체를 찾은 후 클릭하면 Intent를 통해서 화면이 전환되는 과정을 정리해볼게요.

 

코딩

▲ Main 화면에서는 버튼 객체를 찾아서 Dialog 액티비티로 넘어가는 Intent를 설정했고요.

 

 

안드로이드

▲ 대화창 액티비티에서는 일단 각각의 버튼을 클릭하면 액티비티를 닫도록 했습니다. 오늘은 이렇게 화면 전환만을 위해서 기본 코딩만 했지만 프래그 설정도 해야 하고 Intent의 putExtra()를 통해서 데이터를 전달하고 받으면서 출력할 메시지 내용을 달리할 수도 있겠죠? 그런 것들은 앞으로 하나씩 공부하면서 정리하기로 하고 이번에는 그냥 단순하게 화면 전환을 한 후...

 

Yes나 No를 클릭하면 해당 버튼을 클릭했다는 Toast 메시지만 띄우면서 대화창 형식의 Activity를 닫도록 했습니다. 이제 결과를 확인해보고 마무리하죠.

 

 

이렇게 해서 android Activity를 Dialog 형식으로 만드는 과정을 공부해봤습니다. 수고하셨어요.

반응형