[안드로이드] 안드로이드스튜디오(Android Studio), 뷰플리퍼(ViewFlipper) 자동으로 화면 이동하기(auto flipping, startFlipping, stopFlipping), 안드로이드 예제, 안드로이드 강좌
참고 : 이미지서명은 제 와이프 블로그 이미지서명입니다.
안녕하세요 정보처리마법사 입니다.
이번 포스팅의 주제는 뷰플리퍼(ViewFlipper) 자동으로 화면 이동하기(auto Flipping)에 관한 내용입니다.
뷰플리퍼를 사용하면 여러 화면을 한 화면에서 하나씩 보여줄 수 있습니다. 그리고 뷰플리퍼에 추가된 여러 화면을 자동으로 보여주게 만들 수도 있습니다.
START버튼을 클릭하면 ViewFlipper에 추가된 RED, GREEN, BLUE 색상의 TextView를 자동으로 반복해서 보여주고, STOP버튼을 누르면 자동 반복을 멈춥니다. 이 동작과 관련이 있는 메소드는 startFlipping() 메소드와 stopFlipping() 메소드 입니다.
레이아웃은 리니어레이아웃 안에 버튼 두 개 리니어레이아웃 아래쪽에 뷰플리퍼, 뷰플리퍼 안에 텍스트뷰 세 개 입니다.
Layout XML Text 모습입니다.
여기까지가 레이아웃 XML 내용입니다.
그리고 메인액티비티 소스코드를 살펴보겠습니다.
Activity 클래스를 상속받고 View.OnClickListener 인터페이스를 구현한 MainActivity 클래스입니다. 버튼과 뷰플리퍼를 선언해 주고 onCreate() 메소드 안에서 각각 레이아웃 XML에서 지정해뒀던 뷰들과 연결시켜 주고 setOnClickListener()메소드로 이벤트 리스너를 설정해 줍니다.
timer와 비슷한 모양의 setFlipInterval() 메소드로 화면이 바뀌는 시간을 설정해줍니다. ( )안은 다들 아시겠지만 밀리세컨 입니다. 1sec=1000ms
Tip.
android.widget.ViewFlipper 클래스의 메소드들.
boolean isAutoStart() : 자동으로 시작하게 설정되었다면 true를 반환합니다.
boolean isFlipping() : 현재 플리핑 중이라면 true를 반환합니다.
void setAutoStart(boolean autoStart) : 자동 시작 여부를 설정합니다.
void setFlipInterval(int milliseconds) : 플리핑 간격을 설정합니다.
void startFlipping() : 플리핑을 시작합니다.
void stopFlipping() : 플리핑을 중단합니다.
클릭한 버튼이 START 버튼이면 startFlipping()메소드를 호출하여 auto flipping 을 1초 간격으로 동작을 하고 클릭한 버튼이 STOP버튼이면 stopFlipping() 메소드를 호출하여 fliiping 을 멈춥니다.
전환하는 뷰에 애니메이션을 추가하고 싶다면 다음의 코드를 사용하면 됩니다.
vf.setInAnimation(AnimationUtils.loadAnimation(this, anim.left_in));
vf.setOutAnimation(AnimationUtils.loadAnimation(this, anim.left_out));
이 코드는 뷰가 보여질 때 애니메이션을 적용하는 것입니다.
자 이제 디바이스로 애플리케이션을 실행해봅니다.
아주 잘 동작합니다.
이상으로 포스팅을 마칩니다. 감사합니다.
참고서적 : 200개의 단계별 예제로 배우는 안드로이드 4.0 [제이펍]
Fin.
잘 못 된 정보가 있으면 말씀해주세요~
공감버튼 클릭은 작성자에게 큰 힘이 됩니다. 행복한 하루 되세요.