Android ViewPager animation effect, androidviewpager
Find a good open source project: https://github.com/jfeinstein10/JazzyViewPager
Android ViewPager animation effect
Adapter: (this is where the onclick event is added for each item of viewpager)
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);container.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);pager.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); pager. setAdapter (adapter); pager. setPageMargin (5); // press the stack mode pager. setTransitionEffect (TransitionEffect. stack); // three-dimensional internal access // pager. setTransitionEffect (TransitionEffect. cubeIn); // three-dimensional protruding // pager. setTransitionEffect (TransitionEffect. cubeOut); // left and right extrusion // pager. setTransitionEffect (TransitionEffect. accordion); // horizontal paging // pager. setTransitionEffect (TransitionEffect. flipHorizontal); // vertical paging // pager. setTransitionEffect (TransitionEffect. flipVertical); // place the slice in the upper slice // pager. setTransitionEffect (TransitionEffect. rotateDown); // place the slice in the Lower Slice // pager. setTransitionEffect (TransitionEffect. rotateUp); // standard // pager. setTransitionEffect (TransitionEffect. standard); // tab (card format) // 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, 1000 ). show ();}}JazzyViewPager comes with animation enumeration 11. If you need other animations, add them by yourself.