Recyclerview实现按时间划分展示图片

大致效果:

实现思路

主要用recyclerview实现,每个item的话是TextView+Gridlayout实现的,然后动态把图片加入到gridlayout中,下次用RecyclerView+RecyclerView实现下,记录下实现过程

代码实现

1. layout布局 RecyclerView item的布局

GridLayout 子View的布局

<?xml version="1.0" encoding="utf-8"?>

2. 主要代码

//BaseQuickAdapter implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.4'public static class RvAdapter extends BaseQuickAdapter{public RvAdapter(@Nullable List data) {super(R.layout.item_lv_timeline, data);addChildClickViewIds(R.id.check);}@Overrideprotected void convert(BaseViewHolder helper, BeanAlbum item) {helper.setText(R.id.tv_date,item.getDate());ImageView check = helper.getView(R.id.check);GridLayout container = helper.getView(R.id.grid);if (item.isCheck()) {check.setImageResource(R.mipmap.round_check2);}else {check.setImageResource(R.mipmap.round_check);}container.removeAllViews();for (BeanImage beanImage : item.getList()) {View inflate = LayoutInflater.from(getContext()).inflate(R.layout.item_img_timeline, null, false);container.addView(inflate);ImageView imageView = inflate.findViewById(R.id.item_img);//imageView.setImageResource(beanImage.getMipmap());// Glide.with(getContext())// .asBitmap()// .diskCacheStrategy(DiskCacheStrategy.NONE)// .apply(RequestOptions.bitmapTransform(new RoundedCorners(20)))// .load(item.getPath())// .into(image);CheckBox checkBox = inflate.findViewById(R.id.item_check);checkBox.setChecked(beanImage.isCheck);checkBox.setOnCheckedChangeListener((compoundButton, b) -> {checkBox.setChecked(b);});}}}
发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章