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);