關於banner獲取網路圖片設定自動輪播
阿新 • • 發佈:2019-01-30
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
類來初始化Bannerpublic class GlideImageLoader extends ImageLoader { @Overridepublic 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();