1. 程式人生 > >關於banner獲取網路圖片設定自動輪播

關於banner獲取網路圖片設定自動輪播

1、首先匯入依賴包

compile 'com.youth.banner:banner:1.4.9'

2、在佈局檔案中建立banner的控制元件

<com.youth.banner.Banner
android:layout_width="match_parent"
android:layout_height="200dp"
android:id="@+id/banner"
></com.youth.banner.Banner>
3、建立一個
GlideImageLoader
類來初始化Banner

public class GlideImageLoader extends ImageLoader {
    @Override
public void displayImage(Context context, Object path, ImageView imageView) { /** 注意: 1.圖片載入器由自己選擇,這裡不限制,只是提供幾種使用方法 2.返回的圖片路徑為Object型別,由於不能確定你到底使用的那種圖片載入器, 傳輸的到的是什麼格式,那麼這種就使用Object接收和返回,你只需要強轉成你傳輸的型別就行, 切記不要胡亂強轉! */ //Glide 載入圖片簡單用法 Glide.with(context).load(path).into(imageView); //Picasso
載入圖片簡單用法 // Picasso.with(context).load(path).into(imageView); //fresco載入圖片簡單用法,記得要寫下面的createImageView方法 Uri uri = Uri.parse((String) path); imageView.setImageURI(uri); } //提供createImageView 方法,如果不用可以不重寫這個方法,主要是方便自定義ImageView的建立 /*@Override public ImageView createImageView(Context context) {
//使用fresco,需要建立它提供的ImageView,當然你也可以用自己自定義的具有圖片載入功能的ImageView SimpleDraweeView simpleDraweeView=new SimpleDraweeView(context); return simpleDraweeView; }*/ } 4、然後在解析方法中編寫程式碼。在Gson解析設定介面卡下邊寫 集合中新增的物件為網路中解析出來的圖片
List<Bean.ResultBean.TopicsBean> pics = bean.getResult().getTopics();
ArrayList<String> pic = new ArrayList<>();
for (int i = 0; i <pics.size() ; i++) {
    pic.add(pics.get(i).getPic());
}

//設定圖片載入器
banner.setImageLoader(new GlideImageLoader());
//設定圖片集合
banner.setImages(pic);

//設定banner動畫效果
banner.setBannerAnimation(Transformer.Default);

banner.setIndicatorGravity(BannerConfig.CENTER);

//banner設定方法全部呼叫完畢時最後呼叫
banner.start();