'자동 페이지 넘기기'에 해당되는 글 1건

  1. 2011.11.20 Android - ViewFlipper auto ( 뷰플리퍼, 자동페이지넘기기 )

Android - ViewFlipper auto ( 뷰플리퍼, 자동페이지넘기기 )

Android 2011.11.20 15:11


저번에 뷰플리퍼를 살펴본 내용과 같이 버튼2개로 책을 보는 듯한 효과를 주는 것을 해보겠습니다.
오늘은 한페이지 한페이지 넘기는 것이 아니라 자동으로 페이지가 넘어가는 것을 하겠습니다.
책을 보는 어플이나 내용을 뿌려주는 어플에서 흔히 볼 수 있는 기능입니다.
자동보기를 누르면 정해진 시간마다 페이지가 넘어가겠죠 ?

설명하자면

버튼1 을 누르면 자동으로
첫페이지 > 두번째페이지 > 세번째페이지 > 첫번째페이지

버틑2 를 누르면 정지가 되겠죠

이런식으로 효과를 주는 것입니다.

책 페이지를 넘기는 것이지요
여러가지 내용을 다루는 것이면 여러페이지를 연달아서 보여줄 때 좋은 방법이지요.

ViewFlipper를 사용하여서 합니다.
살펴볼 메소느는

view.setFlipInterval(1000);
페이지를 넘길 시간을 정합니다. ( 1000당 1초 )


view.startFlipping();
페이지를 넘기기 시작합니다.


view.stopFlipping();
페이지 넘기기를 정지합니다.

view.setDisplayedChild(2);
먼저 보여줄 순서를 정합니다.



소스에서 세가지 메소드가 어떻해 쓰이는지 살펴보세요.
주석으로 나머지 설명은 덧붙이겠습니다.


프로젝트 생성

Project name : ExamViewFlipper2
Build Target : Android 2.1
Package name : jsh.exam.viewflipper2
Create Activity : main
Min SDK Version : 7



src

main.java

package jsh.exam.viewflipper2;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ViewFlipper;

public class main extends Activity implements OnClickListener {
/** Called when the activity is first created. */

Button start, stop;
ViewFlipper view;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

start = (Button) findViewById(R.id.button1);
start.setText("자동보기");
stop = (Button) findViewById(R.id.button2);
stop.setText("정지");
view = (ViewFlipper) findViewById(R.id.viewFlipper1);

start.setOnClickListener(this);
stop.setOnClickListener(this);

// 페이지 넘기는 구간시간 설정 1000 = 1초
view.setFlipInterval(1000);

// 특정 먼저 실행할 부분 설정 플리퍼에 설정한페이지는 처음부터 0으로 시작
// view.setDisplayedChild(2);

}

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

if (v == start) {
// 시작
view.startFlipping();

} else if (v == stop) {
// 종료
view.stopFlipping();
}

}
}

res / layout

main.xml

앞에서 했던 뷰플리퍼 구성과 같습니다.


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android
"
android:orientation="vertical
"
android:layout_width="fill_parent
"
android:layout_height="fill_parent">
<ViewFlipper
android:id="@+id/viewFlipper1
"
android:layout_width="fill_parent
"
android:layout_height="fill_parent
"
android:layout_weight="1">
<LinearLayout
android:id="@+id/linearLayout2
"
android:layout_width="fill_parent
"
android:layout_height="fill_parent
"
android:orientation="vertical
"
android:background="#ff0000"></LinearLayout>
<LinearLayout
android:id="@+id/linearLayout3
"
android:layout_width="fill_parent
"
android:layout_height="fill_parent
"
android:orientation="vertical
"
android:background="#00ff00"></LinearLayout>
<LinearLayout
android:id="@+id/linearLayout4
"
android:layout_width="fill_parent
"
android:layout_height="fill_parent
"
android:orientation="vertical
"
android:background="#0000ff"></LinearLayout>
</ViewFlipper>
<LinearLayout
android:id="@+id/linearLayout1
"
android:layout_height="wrap_content
"
android:layout_width="fill_parent
"
android:orientation="horizontal">
<Button
android:layout_weight="1
"
android:layout_height="wrap_content
"
android:id="@+id/button1
"
android:layout_width="fill_parent
"
android:text="Button"></Button>
<Button
android:layout_weight="1
"
android:layout_height="wrap_content
"
android:id="@+id/button2
"
android:layout_width="fill_parent
"
android:text="Button"></Button>
</LinearLayout>
</LinearLayout>


실행결과



여기까지 뷰플리퍼를 마무리하겠습니다.
더 궁금하신 내용이나 더 알아보고 싶은 내용있으면 댓글부탁드립니다.

저작자 표시
신고
Trackback 0 : Comment 0

Write a comment