您的位置:首页 > 其它

ViewPager的自动轮播

2016-10-14 17:52 99 查看
ViewPager轮播图出来指示器,无限轮播,常常也会有要求自动轮播的需求。这里记录一下轮播图的自动轮播。这篇文章在上篇viewpager自添加指示器,无限轮播的基础上添加的自动轮播功能

下面仍然展示一下效果图:

为了展示效果,这里加快的轮播速度。可以自己修改。



下面贴出自动轮播的代码:

我这里用了两种方法:

方法一:

其核心就是Handler+Timer;

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;
}
}
};


方法二

开一个子线程

//开启一个线程,用于循环
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();


Demo请参考:

viewpager自添加指示器,无限轮播

直接添加上面代码即可实现自动轮播
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: