본문 바로가기

Android

[android]2장의 이미지를 3D 회전 전환시키기 _ 3D-Rotate two images using the ViewSwitcher

결과화면

   


00. img 준비

- img_f : 앞쪽배경

- img_b : 뒷쪽배경

- img_a : 배경위에 떠있는 이미지(공통부분)


01. *ViewSwitcher 안쪽에 두개의 View Child를 생성.(main.xml부분 참조)

- ViewSwitcher : 2개의 child를 갖는 ViewGroup, 2개 이상은 ViewFipper.

- 공통부분(img_a)이 있을 때는 ViewSwitcher와 겹치게 배치.


02. android > ApiDemos > animation > Rotate3dAnimation.class 를 복사하여 사용.(실질적인 3D 회전 기능)

   android > ApiDemos > animation > Transition3d.class 를 참조.(회전조건 설정)


03. 화면 터치 시 정면일 경우 왼쪽 >> 오른쪽 회전, 뒷면일 경우 오른쪽 >> 왼쪽 회전으로 설정.


04. ViewSwitcher의 AnimationListener에서 에니메이션 시작과 종료 시에 컨트롤 할 View 들을 설정.

- 화면 위에 떠 있는 이미지는 회전 시작 시 사라지고 회전 종료 후 나타나게 설정.(Front View와 Back View의 공통 부분 존재 시 활용)

- 화면 전체에 투명 버튼을 생성해 화면 회전중에는 터치이벤트를 가로체서 회전 이미지가 이벤트를 받지 않게한다.



>> 전체 소스코드 

https://github.com/aggapple/AggappleRotate3D