/RecyclerViewBanner

这是一个基于RecyclerView制作的Banner资源库

Primary LanguageKotlin

RecyclerViewBanner

这是一个基于RecyclerView制作的Banner资源库

本项目基于RecyclerView,通过自定义LayoutManager来实现。
支持

  • 横向模式
  • 纵向模式
  • 单页翻页
  • 连页翻页
  • 自动翻页
  • 间距调整
  • RecyclerView嵌套
  • Kotlin项目
  • Java项目
  • 页面布局自定义
  • Adapter自定义
  • RecyclerView容器尺寸自定义
  • 缩放大小自定义
  • 数据源自定义
  • 翻页监听(页码及状态)

demo

前往demo下载地址,下载安装demo应用,体验比效果图更加流畅的效果。

导入方法:

implementation 'liang.lollipop.rvbannerlib:rvbannerlib:1.1.0'

项目代码使用简单:

Java项目

//完整参数设置
BannerUtil4J.with(RecyclerView)//关联一个RecyclerView
                .attachAdapter( RecyclerView.Adapter )//传入RecyclerView的Adapter
                .setOrientation( Orientation.VERTICAL )//设置方向
                .setSecondaryExposedWeight( float )//设置两侧露出比例
                .setSecondaryExposed( int )//设置两侧露出距离,当距离为0时,上一行比例生效
                .setAutoNextDelayed( long )//设置自动翻页的间隔时间,单位ms
                .setPagerMode( boolean )//设置是否单页模式,一次只能翻一页
                .setScaleGap( float )//设置最小缩放比例
                .isAutoNext( boolean )//设置是否开启自动翻页
                .init();//执行初始化

//如果使用默认设置,那么可以像下方这样,3行代码
BannerUtil4J.with(RecyclerView)//关联一个RecyclerView
                .attachAdapter( RecyclerView.Adapter )//传入RecyclerView的Adapter
                .init();//执行初始化

//同时,工具还支持下列方法
BannerUtil4J.onResume();//关联页面生命周期,只有关联此方法后,才会触发自动翻页
BannerUtil4J.onPause();//关联页面生命周期,用于自动停止自动翻页
BannerUtil4J.smoothScrollToPosition( int );//带有中间动画的跳转
BannerUtil4J.scrollToPosition(int);//不带有中间动画的跳转
BannerUtil4J.nextPosition();//主动跳转至下一页

Kotlin项目
//完整参数设置
BannerUtil.with(RecyclerView)//关联一个RecyclerView
                .attachAdapter( RecyclerView.Adapter )//传入RecyclerView的Adapter
                .setOrientation( Orientation.VERTICAL )//设置方向
                .setSecondaryExposedWeight( Float )//设置两侧露出比例
                .setSecondaryExposed( Int )//设置两侧露出距离,当距离为0时,上一行比例生效
                .setAutoNextDelayed( Long )//设置自动翻页的间隔时间,单位ms
                .setPagerMode( Boolean )//设置是否单页模式,一次只能翻一页
                .setScaleGap( Float )//设置最小缩放比例
                .isAutoNext( Boolean )//设置是否开启自动翻页
                .init()//执行初始化

//如果使用默认设置,那么可以像下方这样,3行代码
BannerUtil.with( RecyclerView )//关联一个RecyclerView
                .attachAdapter( RecyclerView.Adapter )//传入RecyclerView的Adapter
                .init()//执行初始化

//同时,工具还支持下列方法
BannerUtil.onResume()//关联页面生命周期,只有关联此方法后,才会触发自动翻页
BannerUtil.onPause()//关联页面生命周期,用于自动停止自动翻页
BannerUtil.smoothScrollToPosition( Int )//带有中间动画的跳转
BannerUtil.scrollToPosition( Int )//不带有中间动画的跳转
BannerUtil.nextPosition()//主动跳转至下一页