带文字的banner轮播图
程序员文章站
2022-06-09 20:28:43
导入依赖implementation 'com.youth.banner:banner:1.4.10'UI布局
导入依赖
implementation 'com.youth.banner:banner:1.4.10'
UI布局
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3"
app:image_scale_type="fit_xy" />
代码块
private Banner banner;
private int[] imageResource = new int[]{R.drawable.index01,R.drawable.index02,R.drawable.index03,R.drawable.index04};
private List<Integer> imageList = new ArrayList<>();
//轮播标题
String[] mtitle = new String[]{"分享砍学费", "人脉总动员", "想不到你是这样的app", "购物节,爱不单行"};
List<String> titleList = new ArrayList<>();
功能的实现
/**
* 轮播图
*/
private void initBanner() {
for (int i = 0; i < imageResource.length; i++) {
imageList.add(imageResource[i]);//把图片资源循环放入list里面
titleList.add(mtitle[i]);//把标题循环设置进列表里面
//设置图片加载器,通过Glide加载图片
banner.setImageLoader(new ImageLoader() {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(context).load(path).into(imageView);
}
});
//设置轮播的动画效果,里面有很多种特效,可以到GitHub上查看文档。
banner.setBannerAnimation(Transformer.Accordion);
banner.setImages(imageList);//设置图片资源
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);//设置banner显示样式(带标题的样式)
banner.setBannerTitles(titleList); //设置标题集合(当banner样式有显示title时)
//设置指示器位置(即图片下面的那个小圆点)
banner.setIndicatorGravity(BannerConfig.CENTER);
banner.setDelayTime(1000);//设置轮播时间3秒切换下一图
banner.setOnBannerListener(this);//设置监听
banner.start();//开始进行banner渲染
}
}
本文地址:https://blog.csdn.net/wbywl1223/article/details/109612706