要在Fragment中使用ArthurHub图像裁剪器,并手动定义RESULT_OK,可以按照以下步骤进行操作:
implementation 'com.github.ArthurHub:Android-Image-Cropper:2.8.0'
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_main, container, false);
// 设置点击事件,选择图片
Button btnSelectImage = view.findViewById(R.id.btn_select_image);
btnSelectImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
selectImage();
}
});
return view;
}
private void selectImage() {
// 创建一个唤醒图像裁剪器的意图
Intent intent = CropImage.activity()
.setGuidelines(CropImageView.Guidelines.ON)
.getIntent(requireContext(), this); // 通过requireContext()获取Context实例
// 启动图像裁剪器
startActivityForResult(intent, CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
CropImage.ActivityResult result = CropImage.getActivityResult(data);
if (resultCode == Activity.RESULT_OK) {
// 获取裁剪后的图像URI
Uri croppedImageUri = result.getUri();
// 这里可以根据需要处理裁剪后的图像
} else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
// 处理裁剪错误
Exception error = result.getError();
}
}
}
通过这种方式,在Fragment中使用ArthurHub图像裁剪器时,你可以手动定义RESULT_OK,并根据需要处理裁剪后的图像。