ViewFlipper

 : In/Out 속성을 지정하여 View 의 이동을 animation 처리한다.


1. 레이아웃 구성
  ViewFlipper 에 포함될 View 를 정의

2. 애니메니션 구성
  res/anim 에 원하는 애니메이션 구성

3. 코드 구성
mFilpper = (ViewFlipper)this.findVeiwById(R.id.flipper)
mFilpper.startFlipping();
mFilpper.setInAnimation(...);
mFilpper.setOutAnimation(...);


* 선언한 뷰를 class로 매핑
    flipper = (ViewFlipper)findViewById(R.id.flipper);
    title = (Title)flipper.getChildAt(0);
    menu = (Menu)flipper.getChildAt(1);
    game = (Game)flipper.getChildAt(2);

* 원하는 뷰를 화면에 나타내기
    flipper.setDisplayedChild(2);

* 참고사항

setContentView혹은 layoutinflate를 하는 시점에 모든 뷰가 생성이 되고 화면에 보이는 여부와 상관없이

종료할때까지는 계속 살아 있기 때문에 특정 view를 보일때 초기화를 한다든지 하는건 알아서 해줘야함

(별도의 overriding할 method같은건 당연히 제공되지 않음)

 

## 이벤트 처리
http://tigerwoods.tistory.com/23

OnTouchListener 인터페이스의 구현

화면에 일어나는 touch를 감지하기 위해서는 android.view.View.OnTouchListener interface를 구현하여야 한다.

OnTouchListener 인터페이스는 다음과 같은 abstract callback method를 포함 함으로 구현해 주어야 한다.


Animation 리소스의 사용 
  push_left_in.xml: 새로운 view가 왼쪽 방향으로 밀려 들어옴. 
  push_left_out.xml: 기존 view가 왼쪽 방향으로 밀려 나감. 
  push_right_in.xml: 새로운 view가 오른쪽 방향으로 밀려 들어옴. 
  push_right_out.xml: 기존 view가 오른쪽 방향으로 밀려 나감.


<translate> 
상하좌우 이동 animation을 지정하며. TranslateAnimation 클래스에 대응한다.

<alpha> 
투명함을 조정하며, AlphaAnimation 클래스에 대응한다.


Java code에서 ViewFlipper 객체의 사용
  View:addView(View): layout xml 문서 내부의 ViewFlipper element에 nest된 view 이외에 새로운 view를 동적으로 추가한다. 
  ViewAnimator:setInAnimation(Context, int): 새로운 view가 화면에 진입시의 animation 설정 
  ViewAnimator:setOutAnimation(Context, int): 기존 view가 화면에서 퇴장시의 animation 설정 
  ViewAnimator:showNext(): ViewFlipper에 등록된 view중 현재 view의 다음 view를 화면에 보이게 함
  ViewAnimator:showPrevious(): ViewFlipper에 등록된 view중 현재 view의 전 view를 화면에 보이게 함 
  ViewFlipper:setFlipInterval(int): 자동 flipping시 적용할 시간간격 (1/1000초 단위 사용)
  ViewFlipper:startFlipping(): 설정된 시간간격을 적용해 자동 flipping 시작 함 
  ViewFlipper:stopFlipping(): 자동 flipping을 정지 함


ViewSwitcher : ViewFlipper와 동일

+ Recent posts