ViewFlipper多layout划屏效果
效果图:
main.xml
/res/anim/push_left_in.xml
/res/anim/push_left_out.xml
ViewflipperActivity.java
效果图:

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/flipper" android:layout_width="fill_parent" android:layout_height="fill_parent" android:persistentDrawingCache="animation" android:flipInterval="1000" android:inAnimation="@anim/push_left_in" android:outAnimation="@anim/push_left_out"> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:text="Next" android:id="@+id/Button_next1" android:layout_width="fill_parent" android:layout_height="wrap_content"> </Button> <ImageView android:id="@+id/image1" android:src="@drawable/icon01" android:layout_width="fill_parent" android:layout_height="wrap_content"> </ImageView> </LinearLayout> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:text="Next" android:id="@+id/Button_next2" android:layout_width="fill_parent" android:layout_height="wrap_content"> </Button> <ImageView android:id="@+id/image2" android:src="@drawable/icon02" android:layout_width="fill_parent" android:layout_height="wrap_content"> </ImageView> </LinearLayout> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:text="Next" android:id="@+id/Button_next3" android:layout_width="fill_parent" android:layout_height="wrap_content"> </Button> <ImageView android:id="@+id/image3" android:src="@drawable/icon03" android:layout_width="fill_parent" android:layout_height="wrap_content"> </ImageView> </LinearLayout> </ViewFlipper> </LinearLayout>
/res/anim/push_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="500"/> <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="500" /> </set>
/res/anim/push_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="500"/> <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="500" /> </set>
ViewflipperActivity.java
package com.viewflipper;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ViewFlipper;
public class ViewflipperActivity extends Activity {
private ViewFlipper mViewFlipper;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button buttonNext1 = (Button) findViewById(R.id.Button_next1);
mViewFlipper = (ViewFlipper) findViewById(R.id.flipper);
buttonNext1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
//在layout中定义的属性,也可以在代码中指定
// mViewFlipper.setInAnimation(getApplicationContext(), R.anim.push_left_in);
// mViewFlipper.setOutAnimation(getApplicationContext(), R.anim.push_left_out);
// mViewFlipper.setPersistentDrawingCache(ViewGroup.PERSISTENT_ALL_CACHES);
// mViewFlipper.setFlipInterval(1000);
mViewFlipper.showNext();
//调用下面的函数将会循环显示mViewFlipper内的所有View。
// mViewFlipper.startFlipping();
}
});
Button buttonNext2 = (Button) findViewById(R.id.Button_next2);
buttonNext2.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
mViewFlipper.showNext();
}
});
Button buttonNext3 = (Button) findViewById(R.id.Button_next3);
buttonNext3.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
mViewFlipper.showNext();
}
});
}
}