2016년 2월 18일 목요일

Android Studio : 액티비티를 팝업창으로 띄우기

일반적으로 안드로이드 앱에서 팝업창을 띄울때는 Dialog 창을 띄우는게 일반적이다.
하지만, 단순한 메시지 정도라면 별 문제 없지만, 새로 띄운 창에 복잡한 메시지를 띄우거나, 특별한 다른 기능이 있어야 하는 경우라면 다이얼로그 창으론 처리하기 어렵다.

그럴때는 그냥 액티비티를 만들고 그걸 팝업창처럼 띄워 버리면 된다.

일단 기본적으로

액티비티 이동 & 닫기 : http://son10001.blogspot.kr/2016/02/android-studio_18.html

... 를 기본틀로 사용한다.

위의 예제에서 버튼을 클릭시 다른 액티비티로 이동하게 되어 있는데, 다른 액티비티로 이동하는게 아니라 그 액티비티를 팝업창으로 띄울 것이다.


일단 팝업창으로 띄울 레이아웃을 수정하는데, 바뀐것이라고는 팝업창 크기를 특정 크기로 지정한다는 것 외에는 바뀌는 것이 없다.

그리고, AndroidManifest.xml 에서...


팝업창으로 불러올 액티비티의 테마를

android:theme="@android:style/Theme.DeviceDefault.Light.Dialog"

... 로 지정한다. (꼭 이것만 되는 것은 아니다, "~~~~~.Dialog" 로 되어 있는것은 다 된다.)
이렇게만 지정하면 액티비티를 팝업창으로 띄울 준비는 끝났다.

그냥 이대로 실행해 보면...


저기 페이지 이동 버튼을 클릭하면...


이렇게 팝업창 처럼 액티비티가 뜨게 된다.
만약 팝업창의 타이틀 바가 좀 거슬린다면...


requestWindowFeature(Window.FEATURE_NO_TITLE);

요걸 추가해 준다.
그러면...


요렇게 좀더 팝업창 스러운 창을 띄워 준다.