2010년 3월 29일 월요일

Flipper(플리퍼) 예제

#. 플리퍼 버튼눌렀을시 화면넘기는 예제
  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(); // 타이머 실행



    }
}

댓글 없음:

댓글 쓰기