輪播圖控制元件,封裝ViewPager,支援無限迴圈輪播,支援三種常用頁面特效,支援設定指示器,支援自動切換手動滑動和自動滑動的滑動時長,封裝Banner的Holder實現更加簡單。使用Kotlin開發,在專案中使用,滿足大部分Banner相關需求,可以直接使用。
本專案基於MZBannerView進行二次開發,只用於開源交流,如果侵權等問題請及時提醒。
簡單預覽
使用方法
-
在專案根目錄的build.gradle檔案中新增jitpack倉庫
allprojects { repositories { maven { url 'https://jitpack.io' } } } 複製程式碼
-
在application的build.gradle檔案中引入倉庫依賴
dependencies { implementation 'com.github.PingerOne:BannerView:1.0.0' } 複製程式碼
-
在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"/> 複製程式碼
-
在程式碼中設定資料和介面卡
bannerView.setPages(data, object : BannerHolderCreator<BannerBean, BannerHolder> { override fun onCreateBannerHolder(): BannerHolder { return BannerHolder() } }) 複製程式碼
常用屬性
Name | Format | Description |
---|---|---|
bannerAutoLoop | Boolean | 是否開啟自動輪播 |
bannerPageMode | Int | 頁面模式 |
bannerPageScale | Float | 左右頁面的縮放比例 |
bannerPageAlpha | Float | 左右頁面的透明度 |
bannerFarMargin | Dimension | 遠離模式下左右頁面的外邊距 |
bannerCoverMargin | Dimension | 覆蓋模式下左右頁面的內邊距 |
bannerPagePadding | Dimension | 中間頁面距離左右的距離 |
indicatorVisible | Boolean | 指示器是否可見 |
indicatorAlign | Int | 指示器的位置 |
indicatorPaddingLeft | Int | 指示器距離左側的距離 |
indicatorPaddingRight | Int | 指示器距離右側的邊距 |
indicatorPaddingTop | Int | 指示器距離頂部的邊距 |
indicatorPaddingBottom | Int | 指示器距離底部的邊距 |