xml:
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="150dp"></com.youth.banner.Banner>
依赖添加:
//banner添加依赖
implementation 'com.youth.banner:banner:1.4.9'
//glide的依赖
implementation 'com.github.bumptech.glide:glide:3.7.0'
权限:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
图片加载器,用的Glide :
public class GlidImageLoader implements ImageLoaderInterface {
@Override
public void displayImage(Context context, Object path, View imageView) {
Glide.with(context).load(path).into((ImageView) imageView);
}
@Override
public ImageView createImageView(Context con){
ImageView imageView=new ImageView(con);
return imageView;
}
}
通过网址得到图片集合(过程略…):
String path="http://www.zhaoapi.cn/ad/getAd?token=05329B0DCBE400ED03760D7B27627FC7";
进行banner:
@Override
public void setData(Object data) {
BanBean data1 = (BanBean) data;
//建立一个集合
List<String> mlist=new ArrayList <>();
//对网址得到的数据集合进行循环
for (int i = 0; i <data1.getData().size() ; i++) {
//得到网址提供的所有图片地址
String icon = data1.getData().get(i).getIcon();
//因为图片地址为https打不开,切换为http
String replace = icon.replace("https", "http");
mlist.add(replace);
}
//banner进行设置
mBanner.setImages(mlist)
.setDelayTime(1000)
.setImageLoader(new GlidImageLoader())
.setIndicatorGravity(BannerConfig.CENTER)
.start();
}