Android轮播图实现效果
1.导依赖
compile 'com.youth.banner:banner:1.4.9'
2.布局添加控件
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="180dp"/>
3.代码实现
public class GlideImage extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(context.getApplicationContext()).load(path).into(imageView);
}
}
banner.setImages(mList)//添加图片集合或图片url集合
.setDelayTime(2000)//设置轮播时间
.setBannerStyle(BannerConfig.CIRCLE_INDICATOR)
.setImageLoader(new GlideImage())//加载图片
.setIndicatorGravity(BannerConfig.CENTER)//设置指示器位置
.start();
4.Attributes属性(banner布局文件中调用)
Attributesformadescribe
delay_timeinteger轮播间隔时间,默认2000
scroll_timeinteger轮播滑动执行时间,默认800
is_auto_playboolean是否自动轮播,默认true
title_backgroundcolorreference
title_textcolorcolor标题字体颜色
title_textsizedimension标题字体大小
title_heightdimension标题栏高度
indicator_widthdimension指示器圆形按钮的宽度
indicator_heightdimension指示器圆形按钮的高度
indicator_margindimension指示器之间的间距
indicator_drawable_selectedreference指示器选中效果
indicator_drawable_unselectedreference指示器未选中效果
image_scale_typeenum和imageview的ScaleType作用一样
5.方法
方法名描述版本限制
setBannerStyle(int bannerStyle)设置轮播样式(默认为CIRCLE_INDICATOR)无
setIndicatorGravity(int type)设置指示器位置(没有标题默认为右边,有标题时默认左边)无
isAutoPlay(boolean isAutoPlay)设置是否自动轮播(默认自动)无
setViewPagerIsScroll(boolean isScroll)设置是否允许手动滑动轮播图(默认true)1.4.5开始
update(List imageUrls,List titles)更新图片和标题1.4.5开始
update(List imageUrls)更新图片1.4.5开始
startAutoPlay()开始轮播1.4开始,此方法只作用于banner加载完毕-->需要在start()后执行
stopAutoPlay()结束轮播1.4开始,此方法只作用于banner加载完毕-->需要在start()后执行
start()开始进行banner渲染1.4开始
setOffscreenPageLimit(int limit)同viewpager的方法作用一样1.4.2开始
setBannerTitle(String[] titles)设置轮播要显示的标题和图片对应(如果不传默认不显示标题)1.3.3结束
setBannerTitleList(List titles)设置轮播要显示的标题和图片对应(如果不传默认不显示标题)1.3.3结束
setBannerTitles(List titles)设置轮播要显示的标题和图片对应(如果不传默认不显示标题)1.4开始
setDelayTime(int time)设置轮播图片间隔时间(单位毫秒,默认为2000)无
setImages(Object[]/List imagesUrl)设置轮播图片(所有设置参数方法都放在此方法之前执行)1.4后去掉数组传参
setImages(Object[]/List imagesUrl,OnLoadImageListener listener)设置轮播图片,并且自定义图片加载方式1.3.3结束
setOnBannerClickListener(this)设置点击事件,下标是从1开始无(1.4.9以后废弃了)
setOnBannerListener(this)设置点击事件,下标是从0开始1.4.9以后
setOnLoadImageListener(this)设置图片加载事件,可以自定义图片加载方式1.3.3结束
setImageLoader(Object implements ImageLoader)设置图片加载器1.4开始
setOnPageChangeListener(this)设置viewpager的滑动监听无
setBannerAnimation(Class transformer)设置viewpager的默认动画,传值见动画表无
setPageTransformer(boolean reverseDrawingOrder, ViewPager.PageTransformer transformer)设置viewpager的自定义动画无
6.常量
常量名称描述所属方法
BannerConfig.NOT_INDICATOR不显示指示器和标题setBannerStyle
BannerConfig.CIRCLE_INDICATOR显示圆形指示器setBannerStyle
BannerConfig.NUM_INDICATOR显示数字指示器setBannerStyle
BannerConfig.NUM_INDICATOR_TITLE显示数字指示器和标题setBannerStyle
BannerConfig.CIRCLE_INDICATOR_TITLE显示圆形指示器和标题(垂直显示)setBannerStyle
BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE显示圆形指示器和标题(水平显示)setBannerStyle
BannerConfig.LEFT指示器居左setIndicatorGravity
BannerConfig.CENTER指示器居中setIndicatorGravity
BannerConfig.RIGHT指示器居右setIndicatorGravity