天天看点

一行代码引入 ViewPager 无限循环 + 页码显示

(出处:http://www.cnblogs.com/linguanh)

前序:

  网上的这类 ViewPager 很多,但是很多都不够好,体现在 bug多、对少页面不支持,例如1~2张图片、功能整合不全(无限+页码)等等,本类由我从零到无完成的,基本已找完 bug,注释丰富,方便大家理解。

特点:

  1,代码量少 , 共两个类,约合 310 行代码 (除去注释)

  2,可扩展 , 再加个 handler 即可实现自动轮播

  3,时间复杂度低

  4,耦合度低,只依赖了 imageLoader,可以自己切换

  5,关键点皆给出了详细注释,方便二次开发

功能:

  1,右滑无限循环(2^32,或更大),支持页面数>=2, 左滑循环直至原始第一张;

  2,上述效果伴随着正确的页面小点显示,具体效果可自定义

使用:

      // 第一个参数是 Activity;第二个是 ViewPager 对象;第三个是 imageLoader 实例,若使用自己的方法加载图片,请修改代码;第四个是图片链接字符串数组  

       new MyViewPager(this,viewpager,imageLoder,imageUrls) 

             .setUnClickLooper(true) // 设置开启第一种效果的无限循环

             .setClickLooper(true)    //  设置开启第二种效果的无限循环

             .init();                         //  实例化全部  

效果图:

  第一类效果,布局嵌套时,缩略图形式显示滑动

 

一行代码引入 ViewPager 无限循环 + 页码显示
一行代码引入 ViewPager 无限循环 + 页码显示

  第二类效果,点击单张图片进入 dialog 风格,大图显示形式

一行代码引入 ViewPager 无限循环 + 页码显示
一行代码引入 ViewPager 无限循环 + 页码显示

类简介:

  上述两种效果都能自己选择是否开启无限滑动。

一行代码引入 ViewPager 无限循环 + 页码显示
一行代码引入 ViewPager 无限循环 + 页码显示

View Code

  

一行代码引入 ViewPager 无限循环 + 页码显示
一行代码引入 ViewPager 无限循环 + 页码显示

Demo项目 github 链接:

一行代码引入 ViewPager 无限循环 + 页码显示

继续阅读