Files
yusheng-android/MainModule/src/main/java/com/xscm/modulemain/adapter/CarouselBannerAdapter.java

78 lines
3.4 KiB
Java
Raw Normal View History

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;
}
}