Android常用控制元件-BannerView(無限輪播圖控制元件)

萬合天宜發表於2018-08-05

輪播圖控制元件,封裝ViewPager,支援無限迴圈輪播,支援三種常用頁面特效,支援設定指示器,支援自動切換手動滑動和自動滑動的滑動時長,封裝Banner的Holder實現更加簡單。使用Kotlin開發,在專案中使用,滿足大部分Banner相關需求,可以直接使用。

本專案基於MZBannerView進行二次開發,只用於開源交流,如果侵權等問題請及時提醒。

簡單預覽

簡單預覽

使用方法

  1. 在專案根目錄的build.gradle檔案中新增jitpack倉庫

     allprojects {
         repositories {
             maven { url 'https://jitpack.io' }
         }
     }
    複製程式碼
  2. 在application的build.gradle檔案中引入倉庫依賴

     dependencies {
          implementation 'com.github.PingerOne:BannerView:1.0.0'
     }
    複製程式碼
  3. 在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"/>
    複製程式碼
  4. 在程式碼中設定資料和介面卡

     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 指示器距離底部的邊距

參考


專案地址
下載APK

歡迎大家訪問我的簡書部落格GitHub

相關文章