实现思路
主要用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 条评论) “” |