【基于Java语言的Andorid个人开发笔记,个人工具类笔记】轮播图展示的基础实现效果

轮播图展示
需要添加依赖

    //实现无限轮播
    implementation 'com.youth.banner:banner:1.4.10'
    //图片加载和缓存库
    //实现平滑的图片列表滚动效果
    // 进行解析加载图片
    implementation 'com.github.bumptech.glide:glide:4.5.0'

xml文件代码

在这里插入代码片

Java文件代码

    /**
     * 轮播图
     */
    private void initBan() {
        JSONObject jsonObject = new JSONObject();
        RequestQueue requestQueue = Volley.newRequestQueue(getContext());
        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, jsonObject, new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                try {
                    idNews[0] = response.getJSONArray("rows").getJSONObject(0).getInt("id");
                    idNews[1] = response.getJSONArray("rows").getJSONObject(1).getInt("id");
                    idNews[2] = response.getJSONArray("rows").getJSONObject(2).getInt("id");
                    List<String> list_banner = new ArrayList<>();
                    for (int i = 0; i < response.getJSONArray("rows").length(); i++) {
                        list_banner.add(ip + response.getJSONArray("rows").getJSONObject(i).getString("advImg"));
                        banner_home.setImages(list_banner).setImageLoader(new ImageLoader() {
                            @Override
                            public void displayImage(Context context, Object path, ImageView imageView) {
                                Glide.with(context).load(path).into(imageView);
                            }
                        }).start();
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                    Toast.makeText(getContext(), "轮播图请求错误!", Toast.LENGTH_SHORT).show();
                }
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Toast.makeText(getContext(), "轮播图服务错误!", Toast.LENGTH_SHORT).show();
            }
        });
        requestQueue.add(jsonObjectRequest);
        /**
         * 监听轮播图
         */
        final Intent intent = new Intent(getContext(), ShowActivity.class);
        banner_home.setOnBannerListener(new OnBannerListener() {
            @Override
            public void OnBannerClick(int position) {
                switch (position) {
                    case 0:
                        intent.putExtra("idNews",idNews[0]);
                        startActivity(intent);
                        break;
                    case 1:
                        intent.putExtra("idNews",idNews[1]);
                        startActivity(intent);
                        break;
                    case 2:
                        intent.putExtra("idNews",idNews[2]);
                        startActivity(intent);
                        break;
                }
            }
        });
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值