天天看點

一行代碼引入 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 無限循環 + 頁碼顯示

繼續閱讀