輪播圖控件,封裝ViewPager,支持無限循環(huán)輪播,支持三種常用頁面特效,支持設(shè)置指示器,支持自動(dòng)切換手動(dòng)滑動(dòng)和自動(dòng)滑動(dòng)的滑動(dòng)時(shí)長,封裝Banner的Holder實(shí)現(xiàn)更加簡單。使用Kotlin開發(fā),在項(xiàng)目中使用,滿足大部分Banner相關(guān)需求,可以直接使用。
本項(xiàng)目基于MZBannerView進(jìn)行二次開發(fā),只用于開源交流,如果侵權(quán)等問題請(qǐng)及時(shí)提醒。
預(yù)覽

BannerView
使用方法
-
在項(xiàng)目根目錄的build.gradle文件中添加jitpack倉庫
allprojects { repositories { maven { url 'https://jitpack.io' } } } -
在application的build.gradle文件中引入倉庫依賴
dependencies { implementation 'com.github.PingerOne:BannerView:1.0.5' } -
在xml文件中引用BannerView控件
<com.fungo.banner.BannerView android:id="@+id/bannerView" android:layout_width="match_parent" android:layout_height="200dp" app:bannerAutoLoop="true" app:bannerPageMode="cover" app:bannerPageScale="0.9" app:bannerPageAlpha="0.6" app:bannerFarMargin="10dp" app:bannerCoverMargin="10dp" app:bannerPagePadding="20dp" app:indicatorVisible="true" app:indicatorAlign="right" app:indicatorPaddingLeft="12dp" app:indicatorPaddingBottom="12dp" app:indicatorPaddingRight="12dp"/> -
在代碼中設(shè)置數(shù)據(jù)和適配器
bannerView.setPages(data, object : BannerHolderCreator<BannerBean, BannerHolder> { override fun onCreateBannerHolder(): BannerHolder { return BannerHolder() } })
常用屬性
| Name | Format | Description |
|---|---|---|
| bannerAutoLoop | Boolean | 是否開啟自動(dòng)輪播 |
| bannerPageMode | Int | 頁面模式 |
| bannerPageScale | Float | 左右頁面的縮放比例 |
| bannerPageAlpha | Float | 左右頁面的透明度 |
| bannerFarMargin | Dimension | 遠(yuǎn)離模式下左右頁面的外邊距 |
| bannerCoverMargin | Dimension | 覆蓋模式下左右頁面的內(nèi)邊距 |
| bannerPagePadding | Dimension | 中間頁面距離左右的距離 |
| indicatorVisible | Boolean | 指示器是否可見 |
| indicatorAlign | Int | 指示器的位置 |
| indicatorPaddingLeft | Int | 指示器距離左側(cè)的距離 |
| indicatorPaddingRight | Int | 指示器距離右側(cè)的邊距 |
| indicatorPaddingTop | Int | 指示器距離頂部的邊距 |
| indicatorPaddingBottom | Int | 指示器距離底部的邊距 |