From 4f7f99c6ea914bcd38de78bd8371be566026b905 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 26 二月 2025 15:54:14 +0800
Subject: [PATCH] -为按钮和列表项添加波纹效果,以获得更好的视觉反馈 -改进MapFragment中的底部布局动画 -在MapFragment中添加设备状态和RTU地址显示 -更新BaseListResult以支持泛型类型 -为设备数据添加IntakeListResult和IntakeResult -通过数据库支持增强标记位置更新功能 -添加电话拨号意图以分隔标记详细信息 -通过过期检查改进磁贴缓存 -添加问题报告的确认对话框 -更新登录活动以限制用户名长度 -为波纹效果和UI元素添加新颜色 -重构XML布局以使用新的波纹图 -改进MapFragment中的错误处理和用户反馈
---
app/src/main/java/com/dayu/pipirrapp/adapter/ImageAdapter.java | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 51 insertions(+), 7 deletions(-)
diff --git a/app/src/main/java/com/dayu/pipirrapp/adapter/ImageAdapter.java b/app/src/main/java/com/dayu/pipirrapp/adapter/ImageAdapter.java
index d41fc68..b4ad6cd 100644
--- a/app/src/main/java/com/dayu/pipirrapp/adapter/ImageAdapter.java
+++ b/app/src/main/java/com/dayu/pipirrapp/adapter/ImageAdapter.java
@@ -1,5 +1,6 @@
package com.dayu.pipirrapp.adapter;
+import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -8,7 +9,15 @@
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.load.resource.bitmap.CenterCrop;
+import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.dayu.pipirrapp.R;
+import com.dayu.pipirrapp.bean.ImageBean;
+import com.dayu.pipirrapp.bean.net.ImageResult;
+import com.dayu.pipirrapp.bean.net.UplodFileState;
+import com.dayu.pipirrapp.tool.GlideEngine;
+
+import java.util.List;
/**
* ImageAdapter -
@@ -17,12 +26,16 @@
* @version 1.0
* @since 2024-11-27
*/
-public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ImageViewHolder>{
- private String[] imageUrls; // 鍥剧墖鐨� URL 鎴栨湰鍦拌矾寰�
+public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ImageViewHolder> {
+ private List<ImageBean> imageUrls; // 鍥剧墖鐨� URL 鎴栨湰鍦拌矾寰�
+ private Context mContext;
+ private OnItemClickListener onItemClickListener;
// 鏋勯�犳柟娉�
- public ImageAdapter(String[] imageUrls) {
+ public ImageAdapter(Context context, List<ImageBean> imageUrls, OnItemClickListener onItemClickListener) {
this.imageUrls = imageUrls;
+ this.mContext = context;
+ this.onItemClickListener = onItemClickListener;
}
@Override
@@ -34,25 +47,56 @@
@Override
public void onBindViewHolder(ImageViewHolder holder, int position) {
+
+ ImageBean imageBean=imageUrls.get(position);
+ if (imageBean.getType()== UplodFileState.VIDEO_TYPE){
+ holder.play.setVisibility(View.VISIBLE);
+ }else {
+ holder.play.setVisibility(View.GONE);
+ }
// 浣跨敤 Glide 鍔犺浇鍥剧墖鍒� ImageView 涓�
Glide.with(holder.itemView.getContext())
- .load(imageUrls[position]) // 鍔犺浇鍥剧墖鐨� URL 鎴栬矾寰�
- .thumbnail(0.1f) // 璁剧疆缂╃暐鍥炬瘮渚�
+ .load(imageBean.getWebPath()) // 鍔犺浇鍥剧墖鐨� URL 鎴栬矾寰�
+ .thumbnail(0.1f) // 璁剧疆缂╃暐鍥炬瘮渚�'
+ .transform(new CenterCrop(), new RoundedCorners(8))
+ .placeholder(R.drawable.ps_image_placeholder)
.into(holder.imageView);
+ holder.imageView.setOnClickListener(v -> {
+ onItemClickListener.onItemClick(v, position);
+ });
+
}
@Override
public int getItemCount() {
- return imageUrls.length;
+ if (imageUrls == null) {
+ return 0;
+ }
+ return imageUrls.size();
}
public static class ImageViewHolder extends RecyclerView.ViewHolder {
ImageView imageView;
+ ImageView play;
public ImageViewHolder(View itemView) {
super(itemView);
-// imageView = itemView.findViewById(R.id.thumbnailImageView);
+ imageView = itemView.findViewById(R.id.thumbnailImageView);
+ play=itemView.findViewById(R.id.item_play);
}
}
+
+ public interface OnItemClickListener {
+ /**
+ * Item click event
+ *
+ * @param v
+ * @param position
+ */
+ void onItemClick(View v, int position);
+
+ }
+
+
}
--
Gitblit v1.8.0