1. 添加依赖
implementation 'com.youth.banner:banner:1.4.10'
2. 添加类
import android.content.Context;
import android.widget.ImageView;
import com.youth.banner.loader.ImageLoader;
public class GlideImageLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
imageView.setImageResource((Integer) path);
}
//提供createImageView 方法,如果不用可以不重写这个方法,主要是方便自定义ImageView的创建
@Override
public ImageView createImageView(Context context) {
//使用fresco,需要创建它提供的ImageView,当然你也可以用自己自定义的具有图片加载功能的ImageView
return new ImageView(context);
}
}
3.在xml中使用
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="0dp"
android:layout_height="250dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
4. 在MainActivity.java中添加
Banner banner = view.findViewById(R.id.banner);
//设置banner样式
banner.setBannerStyle(BannerConfig.NUM_INDICATOR);
//设置图片加载器
banner.setImageLoader(new GlideImageLoader());
//设置图片集合
banner.setImages(images);
//设置轮播时间
banner.setDelayTime(2000);
//banner设置方法全部调用完毕时最后调用
banner.start();
其中:images是轮播的图片的集合:
private List<Integer> images = new ArrayList<>();
images.add(R.drawable.bannerPic1);
images.add(R.drawable.bannerPic2);
images.add(R.drawable.bannerPic3);
images.add(R.drawable.bannerPic4);