Banner开源库是什么?
Banner 是 Android广告图片轮播控件,内部基于ViewPager2实现,Indicator和UI都可以自定义。
怎么使用 Banner 开源库?
1、在项目\app\build.gradle文件中加入如下代码:
implementation 'com.youth.banner:banner:1.4.10' //最新版本
2、 添加banner布局
android:id="@+id/tv_activity_banner"
android:layout_width="0dp"
android:layout_weight="3"
android:layout_height="match_parent">
3、创建自定义ImageLoader
/**
*@author郭宝
*@project:BannerDemo
*@package:com.casic.bannerdemo
*@date:2019/4/17 0017 15:00
*@brief:自定义ImageLoader
*/public class MyImageLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
//Glide 加载图片简单用法
Glide.with(context).load(path).into(imageView);
}
}
4、在Activity或者Fragment中使用
ArrayList IMGS = new ArrayList<>();
IMGS.add(R.mipmap.lb1);
IMGS.add(R.mipmap.lb2);
IMGS.add(R.mipmap.lb3);
IMGS.add(R.mipmap.lb4);
ArrayList titles = new ArrayList<>();
titles.add("最后的骑士");
titles.add("三生三世十里桃花");
titles.add("豆福传");
titles.add("豆福传1");
//设置banner样式
mBanner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);
//设置图片加载器
mBanner.setImageLoader(new MyImageLoader());
//设置图片集合
mBanner.setImages(IMGS);
//设置banner动画效果
mBanner.setBannerAnimation(Transformer.CubeIn);// Transformer.BackgroundToForeground
//设置标题集合(当banner样式有显示title时)
mBanner.setBannerTitles(titles);
//设置自动轮播,默认为true
mBanner.isAutoPlay(true);
//设置轮播时间
mBanner.setDelayTime(5000);
//设置指示器位置(当banner模式中有指示器时)
mBanner.setIndicatorGravity(BannerConfig.CENTER);
//banner设置方法全部调用完毕时最后调用
mBanner.start();
效果图:
设置 Banner 动画效果
//设置banner动画效果
mBanner.setBannerAnimation(Transformer.BackgroundToForeground);
效果图: