ViewPager实现循环滑动

android中用ViewPager实现循环滑动

ViewPager在android开发中是个非常常用的组件,最为大家所熟悉的应用场景大概是在app中自动滚动的广告了。当然了,还有很多其它的地方也会用它来实现。不过美中不足的是,它没提供相应的API来实现循环滑动,当滑到最后一页后就不能前进了,只能回退,而当退到第一页时也不能再回退了。可我们的需求中往往有些地方需要循环的效果,比如上面说的广告,一般都是在ViewPager中放几张广告图,然后循环地滚动着。这样就要我们想点别的办法来达到要求。

目前网上主要有两种方法来解决这个问题。

方法一:

一种是方式是重写adapter的getCount方法,返回一个很大的数,比如Integer.MAX_VALUE,然后在初始化时从Integer.MAX_VALUE的二分之一处开始显示,因为这个值很大,所以基本不可能滑动到position=0或者position=Integer.MAX_VALUE的位置,使用户感觉是在循环。

其主要代码像这样:

 private class MyAdapter extends PagerAdapter {

    private List<View> listView;

    public MyAdapter(List<View> listView) {
        this.listView = listView;
    }

    @Override
    public int getCount() {
        return Integer.MAX_VALUE;
    }

    @Override
    public boolean isViewFromObject(
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值