欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

带文字的banner轮播图

程序员文章站 2022-03-27 21:48:51
导入依赖implementation 'com.youth.banner:banner:1.4.10'UI布局

带文字的banner轮播图
导入依赖

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

相关标签: banner android