Find a good Open source project: Https://github.com/jfeinstein10/JazzyViewPager
Android Viewpager animation effects
Adapter: (This is the viewpager of each item added the onclick event)
Package Com.example.jaazy;import Java.util.arraylist;import Android.support.v4.view.pageradapter;import Android.view.view;import android.view.view.onclicklistener;import android.view.viewgroup;/** * Create by LanYan on 2014.04.24 * This is a adapter */public class Viewpageradapteronclick extends Pageradapter {private arraylist<view> Views;private viewpageonclick callback;private jazzyviewpager pager;public Viewpageradapteronclick (JazzyViewPager Pager,arraylist<view> Views,viewpageonclick callback) {this.setviews (views); this.callback=callback; This.pager=pager;} public void Setviews (arraylist<view> views) {if (views! = null) This.views = Views;elsethis.views = new arraylist< View> ();} public void Changeitem (arraylist<view> views) {this.setviews, views); notifydatasetchanged (); @Overridepublic int GetItemPosition (Object object) {//TODO auto-generated method Stubreturn Position_none;} @Overridepublic int GetCount () {//TODO auto-generated method Stubreturn Views.sizE ();} @Overridepublic boolean isviewfromobject (View arg0, Object arg1) {//TODO auto-generated method Stubreturn arg0 = arg1;} @Overridepublic void Destroyitem (ViewGroup container, int position, object object) {View v = views.get (position); Containe R.removeview (v);} public void Removeupdate (ViewGroup container) {container.removeallviews ();} @Overridepublic Object Instantiateitem (ViewGroup container, final int position) {View v = views.get (position); V.setonclicklistener (New Onclicklistener () {public void OnClick (View v) {//TODO auto-generated method Stubcallback.callbackonclickitem (position);}}); Container.addview (v);p ager.setobjectforposition (v, position); return v;} public interface viewpageonclick{void Callbackonclickitem (int position);}}
Activity
Import Java.util.arraylist;import android.app.activity;import Android.os.bundle;import Android.view.View;import Android.view.viewgroup.layoutparams;import Android.widget.imageview;import Android.widget.toast;import Com.example.jaazy.jazzyviewpager.transitioneffect;import Com.example.jaazy.viewpageradapteronclick.viewpageonclick;public class Mainactivity extends Activity implements Viewpageonclick{private Jazzyviewpager pager;private Viewpageradapteronclick adapter; @Overrideprotected void OnCreate (Bundle savedinstancestate) {super.oncreate (savedinstancestate); Setcontentview (R.layout.activity_main); Setupjazziness (transitioneffect.stack);} private void Setupjazziness (TransitionEffect stack) {//TODO auto-generated method stubpager= (Jazzyviewpager) Findviewbyid (R.id.jazzy_pager); adapter=new Viewpageradapteronclick (Pager, getviews (), this);p Ager.setadapter ( Adapter);p Ager.setpagemargin (5),//press Stack mode Pager.settransitioneffect (transitioneffect.stack);//Stereo internal access// Pager.settransitioneffect (TRANSITIONEFFECT.cubein)///Stereoscopic protrusion//pager.settransitioneffect (transitioneffect.cubeout);//Squeeze//pager.settransitioneffect around ( transitioneffect.accordion);//Horizontal page//pager.settransitioneffect (transitioneffect.fliphorizontal);//Vertical page// Pager.settransitioneffect (transitioneffect.flipvertical);//fan-in//pager.settransitioneffect ( Transitioneffect.rotatedown);//fan-shaped//pager.settransitioneffect (transitioneffect.rotateup);//Standard// Pager.settransitioneffect (Transitioneffect.standard);//tab (Card form)///pager.settransitioneffect ( Transitioneffect.tablet);//zoom in//pager.settransitioneffect (transitioneffect.zoomin);//zoom out// Pager.settransitioneffect (transitioneffect.zoomout);} Private Arraylist<view> Getviews () {//TODO auto-generated method stubarraylist<view> list=new ArrayList <View> (); ImageView i=new ImageView (this); Layoutparams params=new layoutparams (layoutparams.match_parent, layoutparams.match_parent); I.setLayoutParams ( params); I.setbackgroundresource (R.DRAWABLE.A); ImageView i2=new ImageView (this); I2.setlaYoutparams (params); I2.setbackgroundresource (r.drawable.b); ImageView i3=new ImageView (this); I3.setlayoutparams ( params); I3.setbackgroundresource (r.drawable.c); ImageView i4=new ImageView (this); I4.setlayoutparams (params); I4.setbackgroundresource (R.DRAWABLE.E); List.add (i); List.add (I2); List.add (i3); List.add (I4); return list;} @Overridepublic void Callbackonclickitem (int position) {//TODO auto-generated method Stubtoast.maketext (This, " Position: "+position,"). Show ();}}
Jazzyviewpager the animated enumeration 11, if you need other animations, you can add it yourself
Android Viewpager animation effects