2025-10-28 16:56:13 +08:00
|
|
|
|
package com.xscm.modulemain.adapter;
|
2025-10-20 10:16:44 +08:00
|
|
|
|
|
|
|
|
|
|
import android.view.View;
|
|
|
|
|
|
import android.widget.ImageView;
|
|
|
|
|
|
import android.widget.TextView;
|
|
|
|
|
|
|
2025-10-28 16:56:13 +08:00
|
|
|
|
import com.xscm.modulemain.R;
|
2025-10-20 10:16:44 +08:00
|
|
|
|
import com.xscm.moduleutil.bean.TopRoom;
|
|
|
|
|
|
import com.xscm.moduleutil.utils.ImageUtils;
|
|
|
|
|
|
import com.zhpan.bannerview.BaseBannerAdapter;
|
|
|
|
|
|
import com.zhpan.bannerview.BaseViewHolder;
|
|
|
|
|
|
|
|
|
|
|
|
public class CarouselBannerAdapter extends BaseBannerAdapter<TopRoom> {
|
|
|
|
|
|
|
|
|
|
|
|
private OnItemClickListener onItemClickListener;
|
|
|
|
|
|
|
|
|
|
|
|
public void setOnItemClickListener(OnItemClickListener listener) {
|
|
|
|
|
|
this.onItemClickListener = listener;
|
|
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
protected void bindData(BaseViewHolder<TopRoom> holder, TopRoom data, int position, int pageSize) {
|
|
|
|
|
|
ImageUtils.loadHeadCC(data.getRoom_cover(), holder.itemView.findViewById(R.id.iv_follow_bg));
|
|
|
|
|
|
TextView textView= holder.itemView.findViewById(R.id.tv_num);
|
|
|
|
|
|
TextView textView2= holder.itemView.findViewById(R.id.tv_room_name);
|
|
|
|
|
|
|
|
|
|
|
|
textView.setText(data.getUser_list().size()+"人");
|
|
|
|
|
|
textView2.setText(data.getRoom_name());
|
|
|
|
|
|
ImageView iv = holder.itemView.findViewById(R.id.iv_play);
|
|
|
|
|
|
ImageUtils.loadRes(com.xscm.moduleutil.R.drawable.voice_play, iv);
|
2025-10-24 17:52:11 +08:00
|
|
|
|
// List<TopRoom.UserList> user_list = data.getUser_list();
|
|
|
|
|
|
// if (user_list!= null && user_list.size() > 0) {
|
|
|
|
|
|
// RecyclerView recyclerView = holder.itemView.findViewById(R.id.rv_tags);
|
|
|
|
|
|
// recyclerView.setLayoutManager(new LinearLayoutManager(holder.itemView.getContext(), LinearLayoutManager.HORIZONTAL, false));
|
|
|
|
|
|
//
|
|
|
|
|
|
// // 设置item之间的间隔为负值,实现重叠效果
|
|
|
|
|
|
// if (recyclerView.getItemDecorationCount() == 0) {
|
|
|
|
|
|
// recyclerView.addItemDecoration(new RecyclerView.ItemDecoration() {
|
|
|
|
|
|
// @Override
|
|
|
|
|
|
// public void getItemOffsets(@NonNull Rect outRect, @NonNull View view,
|
|
|
|
|
|
// @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {
|
|
|
|
|
|
// super.getItemOffsets(outRect, view, parent, state);
|
|
|
|
|
|
// // 设置负间距实现重叠效果,根据需要调整数值
|
|
|
|
|
|
// outRect.left = -dpToPx(holder.itemView.getContext(), 8); // 重叠8dp
|
|
|
|
|
|
// }
|
|
|
|
|
|
//
|
|
|
|
|
|
// private int dpToPx(Context context, int dp) {
|
|
|
|
|
|
// return (int) TypedValue.applyDimension(
|
|
|
|
|
|
// TypedValue.COMPLEX_UNIT_DIP, dp,
|
|
|
|
|
|
// context.getResources().getDisplayMetrics());
|
|
|
|
|
|
// }
|
|
|
|
|
|
// });
|
|
|
|
|
|
// }
|
|
|
|
|
|
//
|
|
|
|
|
|
// CarouselImgAdapter adapter = new CarouselImgAdapter();
|
|
|
|
|
|
//
|
|
|
|
|
|
// // 创建最多包含3个元素的子列表
|
|
|
|
|
|
// int endIndex = Math.min(user_list.size(), 3);
|
|
|
|
|
|
// adapter.setNewData(user_list.subList(0, endIndex));
|
2025-10-20 10:16:44 +08:00
|
|
|
|
// recyclerView.setAdapter(adapter);
|
2025-10-24 17:52:11 +08:00
|
|
|
|
// }
|
2025-10-20 10:16:44 +08:00
|
|
|
|
|
|
|
|
|
|
// 设置点击事件
|
|
|
|
|
|
holder.itemView.setOnClickListener(v -> {
|
|
|
|
|
|
if (onItemClickListener != null) {
|
|
|
|
|
|
onItemClickListener.onItemClick(holder.itemView, data, position);
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public interface OnItemClickListener {
|
|
|
|
|
|
void onItemClick(View view, TopRoom data, int position);
|
|
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
public int getLayoutId(int viewType) {
|
|
|
|
|
|
return R.layout.index_item_carousel;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|