Android ViewFlipper

A

Simple ViewAnimator that will animate between two or more views that have been added to it. Only one child is shown at a time. If requested, can automatically flip between each child at a regular interval.

Activity Code :
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.TextView;
import android.widget.ViewFlipper;
public class AndroidViewFlipActivity extends Activity {

ViewFlipper flipper;
Button btn1_next ,btn_prev ,btn_playwithAnimation;
@Override
public
void onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
Integer[] items = { R.drawable.a, R.drawable.e,R.drawable.d,R.drawable.c};
setContentView(R.layout.main);
btn1_next = (Button)findViewById(R.id.button2);
btn_prev = (Button)findViewById(R.id.button1);
btn_playwithAnimation = (Button)findViewById(R.id.button3);
flipper = (ViewFlipper) findViewById(R.id.viewFlipper1);
flipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.left_in));
flipper.setOutAnimation(AnimationUtils.loadAnimation(this,R.anim.left_out));
for (Integer item : items) {
TextView textView = new TextView(this);
textView.setTextSize(30);
textView.setBackgroundResource(item);
flipper.addView(textView, new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT));
}
btn_playwithAnimation.setOnClickListener(new OnClickListener() {
@Override
public
void onClick(View v) {
if
(flipper.isFlipping()){
flipper.stopFlipping();
}
flipper.setFlipInterval(1000);
flipper.startFlipping();
}
});
btn1_next.setOnClickListener(new OnClickListener() {
@Override
public
void onClick(View v) {
// TODO Auto-generated method stub
if
(flipper.isFlipping()){
flipper.stopFlipping();
}
flipper.showNext();
}
});;
btn_prev.setOnClickListener(new OnClickListener() {
@Override
public
void onClick(View v) {
// TODO Auto-generated method stub
if
(flipper.isFlipping()){
flipper.stopFlipping();
}
flipper.showPrevious();
}
});;
}
}

 

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=“match_parent”
android:layout_height=“370dip” >
</ViewFlipper>
<LinearLayout
android:orientation=“horizontal”
android:layout_gravity=“bottom”
android:padding=“4dip”
android:background=“#A4C639”
android:gravity=“bottom”
android:layout_width=“fill_parent”
android:layout_height=“wrap_content”
>
<Button
android:id=“@+id/button1”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:text=“Previous” />
<Button
android:id=“@+id/button3”
android:layout_marginLeft=“30dip”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:text=“Slide Show” />
<Button
android:id=“@+id/button2”
android:layout_width=“wrap_content”
android:layout_marginLeft=“30dip”
android:layout_height=“wrap_content”
android:text=” Next “ />
</LinearLayout>
</LinearLayout>
Animation XML
left_out.xml
<?xml version=“1.0” encoding=“utf-8”?>
<set xmlns:android=“http://schemas.android.com/apk/res/android”>
<translate android:fromXDelta=“0” android:toXDelta=“-100%p” android:duration=“300”/>
<alpha android:fromAlpha=“1.0” android:toAlpha=“0.0” android:duration=“300” />
</set>
left_in.xml
<?xml version=“1.0” encoding=“utf-8”?>
<set xmlns:android=“http://schemas.android.com/apk/res/android”>
<translate android:fromXDelta=“100%p” android:toXDelta=“0” android:duration=“300”/>
<alpha android:fromAlpha=“0.0” android:toAlpha=“1.0” android:duration=“300” />
</set>

screenshot:

 

 

 

About the author

prashant.koli
By prashant.koli

Category