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()