安卓Banner的使用

效果如下所示:
(请忽略下方的GridView)
在这里插入图片描述
banner的使用其实很简单,就三个步骤:

  1. 引入包:
implementation 'com.github.bumptech.glide:glide:4.11.0'
implementation 'jp.wasabeef:glide-transformations:4.0.1'
implementation 'com.youth.banner:banner:1.4.10'
  1. 简单定义图片加载器
package com.example.edm.Utils;

import android.content.Context;
import android.widget.ImageView;

import com.bumptech.glide.Glide;
import com.youth.banner.loader.ImageLoader;

/**
 * Created by KI on 2020/9/5.
 */
public class GlideImageLoader extends ImageLoader {

    public void displayImage(Context context, Object path, ImageView imageView) {
     
        Glide.with(context).load(path).into(imageView);
        
    }
}

  1. 初始化banner
private void initBanner(View v) {
    ArrayList<Integer> list = new ArrayList<>();
    list.add(R.drawable.ncepu_1);
    list.add(R.drawable.ncepu_2);
    list.add(R.drawable.ncepu_3);
    list.add(R.drawable.ncepu_4);
    list.add(R.drawable.ncepu_5);
    banner = v.findViewById(R.id.banner);
    //设置banner样式
    banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR);
    //设置指示器位置(当banner模式中有指示器时)
    banner.setIndicatorGravity(BannerConfig.CENTER);
    //设置图片加载器
    banner.setImageLoader(new GlideImageLoader());
    //设置图片集合
    banner.setImages(list);
    //设置banner动画效果
    banner.setBannerAnimation(Transformer.Default);
    //设置自动轮播,默认为true
    banner.isAutoPlay(true);
    //设置轮播时间
    banner.setDelayTime(3000);
    banner.start();
}

布局文件:

<com.youth.banner.Banner
    android:id="@+id/banner"
    android:layout_width="match_parent"
    android:layout_height="180dp"
    app:indicator_height="6dp"
    app:indicator_margin="5dp"
    app:indicator_width="6dp">
</com.youth.banner.Banner>

猜你喜欢

转载自blog.csdn.net/Cyril_KI/article/details/108423900