通过网址获取图片进行banner轮播:

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

}			

猜你喜欢

转载自blog.csdn.net/weixin_43258668/article/details/84931707
今日推荐