轮播图展示
需要添加依赖
//实现无限轮播
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;
}
}
});
}