본문 바로가기

Programming/Android

Custom Dialog를 대치할 수 있는 투명 Activity 만들기

프로젝트 진행 중에 Dialog나 Popup으로 만들기는 좀 애매한 크기의 사이즈가 있어서 알아보다가

그냥 투명 Activity를 마치 Dialog처럼 눈속임을 해서 Intent를 통해 구현해볼 생각이다.

 

별로 어렵지 않다.

(매번 느끼는 거지만 투명 Activity가 있다는 사실을 모르면 어떻게 구현을 했을까....)

(이래서 기본기가 중요한거임...흠....)

 

먼저 프로젝트를 만들고 프로젝트 안에 Button을 배치해서 Intent로 넘어갈 준비를 해둔다

 

먼저 main.xml을 디자인한다.

별거 없고 그냥 Button을 하나 배치한다.


 

다음으로 main.xml이 적용된 프로젝트를 설정한다.

Translucent.java

tton을 눌렀을 경우 Intent되어 Activity가 넘어가게 된다.

 

다음은 Intent 되어 받을 Activity를 설정한다.

 

sub.xml

마치 Dialog처럼 보이게 하기 위해 위와 아래 margin을 주었다.

(현재 나는 갤럭시탭 10.1로 테스트 중이다. 해상도는 1280 X 800이다)
정 중앙에 LinearLayout을 배치하고 png파일을 이용해서 background 이미지를 넣었다.

그리고 그 안에 TextView를 배치한것이 전부.

 

SubActivity.java

상단의 타이틀 바만 없애주었다. 

 

Intent 해주기 위해 Manifest파일에 Activity를 등록해준다.

 

이제 프로그램을 실행해 보도록하자.

     
역시...투명지정이 안되었다.

그냥 다른 Activity가 실행된것일 뿐이다.

 

그럼 이제 다시 설정을 해보도록 하자.

 

Manifest 파일을 열고 테마를 지정해준다.

빨간박스친 부분을 수정한다.


 

그 후에 메인 Activity(투명 Activity를 부르는 메인)도 수정하여 준다. 

이제 다시 프로그램을 실행해보도록 합시다.


진짜 마치 Dialog를 띄운것같아 보인다.

여기다 ListView도 넣고 Button, Image 다 넣을수 있다.

이제 Base는 제공되었으니 입맛에 맛게 써보도록 합시다.

 

Tip! )

만약에 투명으로 했을경우 겹치면 어찌하나 생각하실 수 있습니다.

사진을 첨부하도록 하겠습니다.

단순히 TextView만 넣었을 경우에는 화면이 겹치는 것이 보입니다.

이런건 의도한게 아니겠죠.

 

방법은 이미지를 넣어주거나, 아니면 Linear 안에 또 다른 Linear를 넣어주면 저렇게 겹치는 현상을 말끔하게 해결할 수 있습니다. ^-^

    

      

----------------------------------------------------------------------

'Programming > Android' 카테고리의 다른 글

구글맵 길찾기  (0) 2012.10.25
SWT / JFACE  (0) 2012.08.10
JNI, NDK  (0) 2012.08.10
C2DM 관련 링크  (0) 2012.08.10
SharedPreferences를 이용하여 ID와 Password 저장하기  (0) 2012.07.12