知乎开源多选相册导入使用并添加删除按钮

导入jar

compile 'com.zhihu.android:matisse:0.4.3'

调用多选相册

 Matisse.from(ReportMovieActivity.this)
                        .choose(MimeType.allOf()) // 选择 mime 的类型
                        .countable(true)
                        .maxSelectable(size) // 图片选择的最多数量
                        .gridExpectedSize(getResources().getDimensionPixelSize(R.dimen.grid_expected_size))//图片显示的宽高大小
                        .restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED)
                        .thumbnailScale(0.85f) // 缩略图的比例
                        .imageEngine(new GlideEngine()) // 使用的图片加载引擎
                        .forResult(IMAGE); // 设置作为标记的请求码

根据返回的图片解析,并且添加删除按钮提供删除功能

 if (requestCode == IMAGE && resultCode == Activity.RESULT_OK && data != null) {
//            Uri selectedImage = data.getData();
            List<Uri> dataList = Matisse.obtainResult(data);
//            selectImageLl.addView(imageView);
//            imagePathList.add(imagePath);
            Log.v("dataList",""+dataList.toString());
            String[] filePathColumns = {MediaStore.Images.Media.DATA};
            for (int i = 0 ;i<dataList.size();i++){
                Cursor c = getContentResolver().query(dataList.get(i), filePathColumns, null, null, null);
                c.moveToFirst();
                int columnIndex = c.getColumnIndex(filePathColumns[0]);
                String imagePath = c.getString(columnIndex);
                Log.v("imagePath", "" + imagePath);

                View view = LayoutInflater.from(this).inflate(R.layout.item_reprot_image,null);
                ImageView imageView = (ImageView) view.findViewById(R.id.iamge_iv);
                ImageView deleteImage = (ImageView) view.findViewById(R.id.report_delete_iv);
//                ImageView imageView = new ImageView(this);
//                imageView.setLayoutParams(new LinearLayout.LayoutParams(DensityUtil.dip2px(this,50),
//                        DensityUtil.dip2px(this,60)));

                File file = new File(imagePath);
                GlideLogic.glideLoadVideoImg324(this, file, imageView, DensityUtil.dip2px(this,50),
                        DensityUtil.dip2px(this,60));
                deleteImage.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        View view1 = (View) v.getTag();
                        selectImageLl.removeView(view1);
                        ImageView imageView1 = (ImageView) view1.findViewById(R.id.iamge_iv);
                        imagePathList.remove(imageView1);
                    }
                });
                deleteImage.setTag(view);//添加整体布局,方便点击按钮删除
                imageView.setTag(imagePath);//添加图片的本地路径,方便本地提交
                selectImageLl.addView(view);//添加view,显示图片
                imagePathList.add(imageView);//添加当前imageview对象,方便提交时候获取图片,根据图片再拿到tag获取本地地址
                c.close();
            }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,040评论 3 119
  • 类似于哈佛大学之类的高校本质上其实就是为了维护自身的精英阶层不断地壮大以致巩固,其实所谓美国式的素质教育实质上就是...
    深夜笔厨阅读 2,361评论 0 0
  • 老乡,你在哪儿 第一次来深圳是1990年4月底,当时,我在衡阳市无线电二厂工作,工厂与香港某...
    宁资虎阅读 1,631评论 0 0
  • 修身化境是糊涂, 世怨恩仇一梦休。 帝业辉煌沉史海, 山河绚丽写春秋。 长城万里雄关在, 分野九州禹跡留。 斗艳争...
    田园拾趣阅读 682评论 0 2
  • 女性终归是相对弱小的。看到新闻时常发生的女生被欺凌的报道,忍不住安慰自己,小概率事件,大概不会发生在自己身上。然而...
    o叮_叮o阅读 4,697评论 2 2