ViewPager的自动轮播

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自添加指示器,无限轮播
直接添加上面代码即可实现自动轮播

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值