简单轮播图的两种方法实现

首先都是依赖

    // Glide加载图片
    compile 'com.github.bumptech.glide:glide:3.7.0'
    /*轮播图 依赖*/
    implementation 'com.youth.banner:banner:1.4.9'

接下来是布局

    <com.youth.banner.Banner
        android:id="@+id/banner"
        android:layout_width="match_parent"
        android:layout_height="200dp">
    </com.youth.banner.Banner>

然后是自定义类
(注意:包一定要导对)

**import com.youth.banner.loader.ImageLoader;**
public class GlidApplication extends ImageLoader {
    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {
        //初始化Glid包
        Glide.with(context).load(path).into(imageView);
    }
}

方法一

	   //ok网络请求
        OkHttpClient okHttpClient = new OkHttpClient();
        Request request = new Request.Builder()
                .url("你要加载的网址。。。")
                .build();

        Call call = okHttpClient.newCall(request);
        //用okHttp里面的call对象打点调用  异步请求数据的抽象方法
        call.enqueue(new Callback() {

            //建个集合  用来存放图片的url地址
            private List<String> picUrlList;
            //此集合是bean解析过来的集合
            private List<PicBean.DataBean> list;

            @Override
            public void onFailure(Call call, IOException e) {
                //访问网络失败的方法(自动生成的)
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                //访问网络成功的方法(自动生成的)
                //这是bena里边的数据
                String json = response.body().string();
                Log.e("mkk",json);
                //开始Gson解析
                Gson gson = new Gson();
                PicBean myBean = gson.fromJson(json, PicBean.class);
                //拿到bean类里的集合
                list = myBean.getData();

                //设此局此集合专门用来存放图片url地址的
                picUrlList = new ArrayList<>();
                for (int i = 0; i < list.size(); i++) {
                    //循环吧图片地址添加到String泛型的集合里
                    picUrlList.add(list.get(i).getIcon());
                }
                //子线程不能更新UI
                //所以【必须】开启返回主线程的方法
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        //吧更新UI视图的代码放这里面
                        //把更新主UI视图的代码放这里面
                        // .setImagees(把图片地址集合)
                        // .setImageLoader(new你的Glid类)
                        // .start开始
                        banner.setImages(picUrlList).setImageLoader(new GlidApplication()).start();
                    }
                });
            }
        });

方法二

	String[] split = bbb.split("\\|");//得到一个图片
        for (int i = split.length-1; i > 0 ; i--) {
            String replace = split[i].replace("https", "http");
            list.add(replace);
            Log.d(TAG, "onCreate:++++++ "+replace);
        }

把集合加到banner里面

	    mBanner.setImageLoader(new GlideImageLoader());
            mBanner.setImages(list);
            mBanner.setDelayTime(1000);
            mBanner.start();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值