首页 > 解决方案 > android图像裁剪器无法正常工作

问题描述

我使用 'com.theartofdev.edmodo:android-image-cropper:2.7.+' 在我的应用程序中裁剪图像。但突然它开始正常工作。

应该是这样的 https://hizliresim.com/uXnjuP

但现在是这样 https://hizliresim.com/iADrZp

我使用 Log.e 来控制问题出在哪里,并且应用程序正常工作,直到这

CropImage.activity(data.getData()).setGuidelines(CropImageView.Guidelines.ON).start(this);

请问你能帮帮我吗。错在哪里?

标签: javaandroid

解决方案


尝试这个

            @Override
            public void onActivityResult(int requestCode, int resultCode, Intent data) {

                if (requestCode == 1 && resultCode == RESULT_OK && data != null) {
                    Uri uri = data.getData();
                    CropImage.activity(uri)
                            .setAspectRatio(1, 1)
                            .setGuidelines(CropImageView.Guidelines.ON)
                            .start(getActivity(), this);
                }

                if (requestCode == 0 && resultCode == RESULT_OK && data != null) {
                    Bitmap bm = (Bitmap) data.getExtras().get("data");
                    Uri tempUri = getImageUri(getApplicationContext(), bm);
                    CropImage.activity(tempUri)
                            .setAspectRatio(1, 1)
                            .setGuidelines(CropImageView.Guidelines.ON)
                            .start(getActivity(), this);
                }

                if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
                    CropImage.ActivityResult result = CropImage.getActivityResult(data);
                    if (resultCode == RESULT_OK) {
                        Uri resultUri = result.getUri();

                        Glide.with(this)
                                .load(resultUri)
                                .apply(RequestOptions.circleCropTransform())
                                .into(profileimage);




                    } else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
                        Exception error = result.getError();
                    }
                }

                super.onActivityResult(requestCode, resultCode, data);
            }

推荐阅读