개발+IT

[안드로이드] 다이얼로그 프래그먼트(Dialog Fragment) 사용하기(1) - 커스텀 다이얼로그 만들기

[안드로이드] 다이얼로그 프래그먼트(Dialog Fragment) 사용하기(2) - 액티비티와 통신하기

안드로이드 앱을 만들다보면 이래저래 다이얼로그를 만들어 쓸 일이 많다. 특히 AlertDialog는 앱을 만들면서 안쓴적이 단 한번도 없는 것 같음. 하기사 세상 천지에 ~하시겠습니까? 확인/취소 형식의 대화창 안띄우는 프로그램이 어디있겠냔 말이지. 여튼 안드로이드에는 AlertDialog를 포함해 다양한 형태의 다이얼로그를 지원하고 있다. 하지만 앱을 만들다 보면 안드로이드에서는 지원하지 않는 형태의 다이얼로그가 필요할 때가 있는데, 바로 그런 커스텀 다이얼로그를 만들기 위한 클래스가 있으니 바로 DialogFragment(다이얼로그 프래그먼트)다.

참고로 다이얼로그 프래그먼트는 안드로이드 API 레벨 11부터 지원하고 있다. 하지만 세상에는 아직 프로요(API 레벨 8) 폰을 쓰는 자들이 있다고 하니 본 포스팅은 android support library v4에서 지원하는녀석을 기준으로 작성하도록 한다.

일단 다이얼로그 프래그먼트를 상속하는 클래스를 하나 만들자. 레이아웃 파일이야 본인이 알아서 만들면 되는 것이고... 일단은 저게 기본 형태이다. 저렇게 비어있는 형태의 생성자가 필요한데, 필요한 아규먼트가 있다면 넣어줘도 좋다.

저기서 알아야 할 것은 onClick 메서드 안에 있는 세 줄이다.  support library v4에 있는 FragmentManager를 임포트해 getSupportFragmentManager 메서드로 프래그먼트 매니저 객체를 만든다. 그리고 난 후에 위에서 만든 TestDialogFragment의 새 객체를 생성하고, show 메서드로 생성되게 만들면 되는 것이다. 여기서 필요한 아규먼트는 바로 윗윗 줄의 프래그먼트 매니저 인스턴스, 프래그먼트 태그이다. 태그는 뭐 본인이 알아서 적당히 넣으면 된다.

물론 저대로 한다고 해서 완벽한 커스텀 다이얼로그가 만들어지는 것은 아니다. 저렇게 해서 불러낸다고 해봤자 다이얼로그의 타이틀 부분이 남아있고, 타이틀 하단의 배경 역시 남아있다.  물론 타이틀 하단의 배경은 보통은 바로 위에 커스텀 레이아웃이 겹쳐있어 보이지 않기 마련이지만 여러분이 만든 레이아웃이 정사각형 모양이 아닐수도 있지 않나. 그러니 기본으로 날려놓는 것을 알아두는 것이 좋다. 걱정 마라 딱 두줄이면 된다!

다음과 같이 아까 만든 다이얼로그 프래그먼트의 onCreateView 메서드 안에 딱 저 두 줄만 넣어주면 된다. 일단 다이얼로그 프래그먼트를 띄우는 데에는 이정도 작업이면 충분하다. 이제 이걸로 데이터를 주거니 받거니 하는 것에 대해서는 다음 포스팅에서 알려드리도록 하겠음 ㅇㅇ

GAE BAL JA

구구리 님의 창작활동을 응원하고 싶으세요?

hell yeah, world
hell yeah, world
구독자 111
멤버십 가입

0개의 댓글

SNS 계정으로 간편하게 로그인하고 댓글을 남겨주세요.
새로운 알림이 없습니다.