#. 플리퍼 버튼눌렀을시 화면넘기는 예제
a. 초간단한 예제로 탭 사용하지 않고 화면 넘기기(플리퍼)
b. 여기서는 버튼 클릭으로 넘기게 했으나 개발자가 충분히 핸들링 가능
-. 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"
>
<Button android:id="@+id/flip_me"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="페이지 넘김"
/>
<ViewFlipper android:id="@+id/details"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textColor="#FF00FF00"
android:text="첫번째 페이지"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textColor="#FFFF0000"
android:text="두번째 페이지"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textColor="#FFFFFF00"
android:text="세번째 페이지"
/>
</ViewFlipper>
</LinearLayout>
-. source
package my.app;
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 Flipper extends Activity {
ViewFlipper flipper;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
flipper = (ViewFlipper) findViewById(R.id.details);
Button btn = (Button)findViewById(R.id.flip_me);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
flipper.showNext();
}
});
}
}
#. 동적으로 플리퍼 생성
a. TabWidget과 유사하게 행 도중에 동적으로 추가할수 있다
b. 임의의 단어를 가져와 버튼 객체 생성후 모두 ViewFlipper로 추가한다.
c. 타이머 지정하여 저절로 이동하게 만듬
d. 애니메이션 효과 사용하였음(내용 방대하므로 기본적인것)
#. 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/details"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
</ViewFlipper>
</LinearLayout>
#. source
package my.app;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ViewFlipper;
public class Flipper extends Activity {
ViewFlipper flipper;
static String[] items = {"lorem", "ipsum", "dolor", "sit", "amet",
"consectetuer", "adipiscing", "elit",
"morbi", "vel", "ligula", "vitae",
"arcu", "aliquet", "mollis", "etiam",
"vel", "erat", "placerat", "ante",
"porttitor", "sodales", "pellentesque",
"augue", "purus"};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
flipper = (ViewFlipper)findViewById(R.id.details);
// 애니메이션 지정(어디서 나타나고 어디서 사라지는지)
flipper.setInAnimation(AnimationUtils.loadAnimation(this, R.drawable.push_left_in));
flipper.setOutAnimation(AnimationUtils.loadAnimation(this,R.drawable.push_left_out));
for (String item : items) {
// 임의의 단어를 모두가져와 각자 버튼 생성
Button btn=new Button(this);
btn.setText(item);
// ViewFlipper에 모두추가
flipper.addView(btn,new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT));
}
flipper.setFlipInterval(2000); // 타이머 설정(일정시간후 자동으로 화면넘김)
flipper.startFlipping(); // 타이머 실행
}
}