现在的绝大数App都有banner界面,也就是轮播控件,主要是实现循环播放多个广告图片和手动滑动循环等功能。因为ViewPager并不支持循环翻页,所以要实现循环还得需要自己去动手,我为了方便就开源了一个轮播控件,希望大家觉得有用。详细内容可进入github上查看。
Gradle123dependencies{compile 'com.youth.banner:banner:+' //最新版本}
或者引用本地lib1compile project(':banner')
常量方法名描述BannerConfig.NOT_INDICATOR不显示指示器和标题
BannerConfig.CIRCLE_INDICATOR显示圆形指示器
BannerConfig.NUM_INDICATOR显示数字指示器
BannerConfig.NUM_INDICATOR_TITLE显示数字指示器和标题
BannerConfig.CIRCLE_INDICATOR_TITLE显示圆形指示器和标题(垂直显示)
BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE显示圆形指示器和标题(水平显示)
BannerConfig.LEFT指示器居左
BannerConfig.CENTER指示器居中
BannerConfig.RIGHT指示器居右
动画常量类常量类名Transformer.Default
Transformer.Accordion
Transformer.BackgroundToForeground
Transformer.ForegroundToBackground
Transformer.CubeIn
Transformer.CubeOut
Transformer.DepthPage
Transformer.FlipHorizontal
Transformer.FlipVertical
Transformer.RotateDown
Transformer.RotateUp
Transformer.ScaleInOut
Transformer.Stack
Transformer.Tablet
Transformer.ZoomIn
Transformer.ZoomOut
Transformer.ZoomOutSlide
方法方法名描述setBannerStyle(int bannerStyle)设置轮播样式(默认为Banner.NOT_INDICATOR)
setIndicatorGravity(int type)设置指示器位置(没有标题默认为右边,有标题时默认左边)
isAutoPlay(boolean isAutoPlay)设置是否自动轮播(默认自动)
setBannerTitle(String[] titles)设置轮播要显示的标题和图片对应(如果不传默认不显示标题)
setBannerTitleList(List titles)设置轮播要显示的标题和图片对应(如果不传默认不显示标题)
setDelayTime(int time)设置轮播图片间隔时间(默认为2000)
setImages(Object[]/List> imagesUrl)设置轮播图片(所有设置参数方法都放在此方法之前执行)
setImages(Object[]/List> imagesUrl,OnLoadImageListener listener)设置轮播图片,并且自定义图片加载方式
setOnBannerClickListener(this)设置点击事件,下标是从1开始
setOnBannerImageListener(this)设置图片加载事件,可以自定义图片加载方式
setOnPageChangeListener(this)viewpager的滑动监听
setBannerAnimation(Class extends PageTransformer> transformer)设置viewpager的默认动画,传值见动画表
setPageTransformer(boolean reverseDrawingOrder, ViewPager.PageTransformer transformer)设置viewpager的自定义动画
使用步骤
在布局文件中添加Banner
简单使用12345
xml自定义属性1234567891011121314151617
在Activity或者Fragment中配置Banner12345678910111213private Banner banner;String[] images= new String[] {"url"};String[] titles=new String[]{"标题"};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);banner = (Banner) findViewById(R.id.banner);/***一步搞定,设置图片就行了(如果需要其他设置,请在setImages之前完成)*/banner.setImages(images);}
打开App,阅读手记