我们经常在项目中用到首页的轮播图片来展示内容,今天来分享一个特别好用的三方框架,废话不说,直接上代码:
目录
第一步.添加依赖
//轮播依赖
implementation 'com.youth.banner:banner:1.4.10'
第二步.创建布局
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="200dp" />
第三步.初始化
/**
* 初始化banner的imageview
*/
private fun initImageView() {
val mMyImageLoader = MyImageLoader()
//设置样式,里面有很多种样式可以自己都看看效果
//banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE);
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR)
//设置图片加载器
banner.setImageLoader(mMyImageLoader)
//设置轮播的动画效果,里面有很多种特效,可以都看看效果。
banner.setBannerAnimation(Transformer.ZoomOutSlide)
//设置轮播间隔时间
banner.setDelayTime(5000)
// banner.setBannerTitles(image);
//设置是否为自动轮播,默认是true
banner.isAutoPlay(true)
//设置指示器的位置,小点点,居中显示
banner.setIndicatorGravity(BannerConfig.CENTER)
//设置图片加载地址
banner.setImages(imageViews)
//轮播图的监听
// .setOnBannerListener(this)
//开始调用的方法,启动轮播图。
.start()
}
/**
* 图片加载类
*/
private class MyImageLoader : ImageLoader() {
override fun displayImage(context: Context, path: Any, imageView: ImageView) {
Glide.with(context)
.load(path)//这里路径可以写链接URL,也可以本地路径
.placeholder(R.mipmap.loding)
//加载错误图
.error(R.mipmap.loding_err)
.into(imageView)
}
}