在开发Android应用的过程中,ViewPager有时候需要自动播放的功能,今天就介绍一下自动播放功能的实现,直接上代码:
1 // viewpager auto play 2 private static final long ANIM_VIEWPAGER_DELAY = 3000; 3 4 private Handler h = new Handler(); 5 private Runnable animateViewPager = new Runnable() { 6 public void run() { 7 if (mViewList.size() > 0) { 8 mViewPager.setCurrentItem((mViewPager.getCurrentItem() + 1) 9 % mViewList.size(), true); 10 h.postDelayed(animateViewPager, ANIM_VIEWPAGER_DELAY); 11 } 12 } 13 }; 14 15 @Override 16 public void onPause() { 17 super.onPause(); 18 if (h != null) { 19 h.removeCallbacks(animateViewPager); 20 } 21 } 22 23 @Override 24 public boolean dispatchTouchEvent(MotionEvent ev) { 25 if (ev.getAction() == MotionEvent.ACTION_DOWN) { 26 if (h != null) { 27 h.removeCallbacks(animateViewPager); 28 } 29 } 30 if (ev.getAction() == MotionEvent.ACTION_UP) { 31 h.postDelayed(animateViewPager, ANIM_VIEWPAGER_DELAY); 32 } 33 return super.dispatchTouchEvent(ev); 34 } 35 36 @Override 37 protected void onResume() { 38 super.onResume(); 39 h.postDelayed(animateViewPager, ANIM_VIEWPAGER_DELAY); 40 }