7449 / BannerLayout

Support unlimited picture rotation BannerLayout, the minimum implementation of the code banner
Apache License 2.0
93 stars 20 forks source link
ad android banner bannerlayout banners layout lunbotu view viewpager

BannerLayout

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

implementation 'com.github.7449.BannerLayout:banner:release.version'
implementation 'com.github.7449.BannerLayout:banner-page:release.version'
implementation 'com.github.7449.BannerLayout:banner-shadow:release.version'
implementation 'com.github.7449.BannerLayout:banner-transformer:release.version'

api

banner.resource(items,boolean)

banner.start()
banner.stop()
banner.release()

banner.delayTime(Long)
banner.touchMode(boolean)
banner.duration(Int)
banner.setTransformer(PageTransformer)

banner.getItem(position)
banner.itemCount
banner.checkViewPager

banner.setOnBannerImageLoader()

banner.addOnItemClickListener()
banner.removeOnBannerClickListener()

banner.addOnBannerResourceChangedListener()
banner.removeOnBannerResourceChangedListener()

banner.doOnPageScrolled()
banner.doOnPageSelected()
banner.doOnPageScrollStateChanged()

banner.addOnBannerChangeListener()
banner.removeOnBannerChangeListener()

ImageLoaderManager

class GlideImageLoader : OnBannerImageLoader<SimpleBannerItem> {
    override fun instantiateItem(
        container: ViewGroup,
        item: SimpleBannerItem,
    ): View {
        return ImageView(container.context).apply {
            Glide.with(container.context)
                .applyDefaultRequestOptions(RequestOptions().centerCrop())
                .load(item.bannerUrl)
                .into(this)
        }
    }
}