AutoBanner(無限輪播)

AutoBanner是一款支持自動輪播的banner,主要是kt + Rxjava編寫。支持單圖和多圖,支持指示點的位置變化,包括和輪播圖同等級也可以在輪播圖的下面,在輪播圖的左面,中間,右面,支持指示點設置背景,支持指示點設置上下左右margin,支持設置自動輪播的停留時間,支持設置自動輪播的scroll時間等等。

核心代碼:

override fun onPageScrollStateChanged(state: Int) {
        when (state) {
            0
            -> if (currentItem == 0) {
                viewPager!!.setCurrentItem(size, false)
            } else if (currentItem == size + 1) {
                viewPager!!.setCurrentItem(1, false)
            }
            1
            -> if (currentItem == size + 1) {
                viewPager!!.setCurrentItem(1, false)
            } else if (currentItem == 0) {
                viewPager!!.setCurrentItem(size, false)
            }
            2
            -> {
            }
        }
    }
 override fun getCount(): Int {
            return imgViews.size;
        }

並不是利用Viewpager 適配器的getCount()無限大,還是保持原數據的大小,而是滑到最後一個view的時候切換到第一個view,保證無限輪播。

Github具體代碼:https://github.com/codeFarmL/AutoBanner

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章