在 Android 应用程序中,要裁剪图像通常需要使用意图和剪辑工具。然而,有时候开发者会遇到裁剪意图不起作用的问题,这可能是因为在代码中出现了一些错误或者遗漏。
在解决这个问题之前,需要确认已经包含了相关权限和依赖项:
在AndroidManifest.xml文件中,需要添加下面这个权限:
在app的build.gradle文件中,需要添加下面这个依赖:
implementation 'com.android.support:design:25.1.0'
接下来,按照以下步骤修改代码以解决问题:
if(imageUri == null){
Log.d(TAG, "imageUri is null");
return;
}
private static final int REQ_CODE_SELECT_IMAGE = 200;
private static final int REQ_CODE_CROP_IMAGE = 201;
private void CropImage() {
Intent CropIntent = new Intent("com.android.camera.action.CROP");
CropIntent.setDataAndType(imageUri, "image/*");
CropIntent.putExtra("crop", true);
CropIntent.putExtra("aspectX", 1);
CropIntent.putExtra("aspectY", 1);
CropIntent.putExtra("outputX", 256);
CropIntent.putExtra("outputY", 256);
CropIntent.putExtra("scale", true);
CropIntent.putExtra("return-data", true);
startActivityForResult(CropIntent, REQ_CODE_CROP_IMAGE);
}
其中,imageUri为选定的图像文件的URI。CropIntent.EXTRA_RETURN_RESULT,如果设置为true,则剪裁结果将直接返回给您的应用程序,