ViewPager轮播图出来指示器,无限轮播,经常也会有要求自动轮播的需求。这里记录一下轮播图的自动轮播。这篇文章在上篇《viewpager自添加指示器,无限轮播》的基础上添加的自动轮播功能 segmentfault
下面仍然展现一下效果图:ide
为了展现效果,这里加快的轮播速度。能够本身修改。spa
下面贴出自动轮播的代码:
我这里用了两种方法:线程
其核心就是Handler+Timer;code
mTimer.schedule(new TimerTask() { @Override public void run() { Message message = new Message(); message.what = UPDATE_VIEWPAGER; handler.sendMessage(message); } }, 1000,1000);//这里定义了轮播图切换的间隔时间 Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case UPDATE_VIEWPAGER: mViewPager.setCurrentItem(mViewPager.getCurrentItem() + 1, true); break; } } };
开一个子线程get
//开启一个线程,用于循环 new Thread(new Runnable() { @Override public void run() { isAuto = true; while (isAuto) { try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } runOnUiThread(new Runnable() { @Override public void run() { mViewPager.setCurrentItem(mViewPager.getCurrentItem() + 1); } }); } } }).start()