安卓實現輪播圖

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

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章