Android 使用ViewPager自动滚动循环轮播效果

2019-12-10 19:51:15王旭

本文主要给大家介绍viewpager自动播放,循环滚动的效果,对android viewpager滚动相关知识感兴趣的朋友可以参考下本篇文章

对Android 利用ViewPager实现图片可以左右循环滑动效果,感兴趣的朋友可以直接点击查看内容详情。

主要介绍如何实现ViewPager自动播放,循环滚动的效果及使用。顺便解决ViewPager嵌套(ViewPager inside ViewPager)影响触摸滑动及ViewPager滑动速度设置问题。

先给大家展示下效果图,喜欢的朋友可以下载源码:

Android 使用ViewPager自动滚动循环轮播效果

1、实现

没有通过ScheduledExecutorService或Timer定期执行某个任务实现,而是简单的通过handler发送消息去完成一次滚动,在完成一次滚动后发送另外一个delay的滚动消息,如此循环实现。自动滚动部分核心代码如下:

Java

 

  1. public void startAutoScroll() {  isAutoScroll = true; 
  2. sendScrollMessage(interval);  } 
  3. private void sendScrollMessage(long delayTimeInMills) {  /** remove messages before, keeps one message is running at most **/ 
  4. handler.removeMessages(SCROLL_WHAT);  handler.sendEmptyMessageDelayed(SCROLL_WHAT, delayTimeInMills); 
  5. }  private class MyHandler extends Handler { 
  6. @Override  public void handleMessage(Message msg) { 
  7. super.handleMessage(msg);  switch (msg.what) { 
  8. case SCROLL_WHAT:  scrollOnce(); 
  9. sendScrollMessage(interval);  break; 
  10. }  }