我在ucrop库中使用了以下代码,并显示了裁剪窗口。
Uri destinationUri = Uri.fromFile(new File(myContext.getCacheDir(), "IMG_" + System.currentTimeMillis()));
UCrop.of(sourceUri, destinationUri)
.withMaxResultSize(maxWidth, maxHeight)
.start(myContext);
但是,控制不在onActivityResult方法内部。如果/ Else都不起作用。
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK && requestCode == UCrop.REQUEST_CROP) {
final Uri resultUri = UCrop.getOutput(data);
} else if (resultCode == UCrop.RESULT_ERROR) {
final Throwable cropError = UCrop.getError(data);
}
}
任何想法都错了,我错过了什么吗?
答案 0 :(得分:1)
将调用代码更改为以下内容。
Uri destinationUri = Uri.fromFile(new File(myContext.getCacheDir(), "IMG_" + System.currentTimeMillis()));
startActivityForResult(UCrop.of(sourceUri, destinationUri)
.withMaxResultSize(maxWidth, maxHeight)
.getIntent(getContext()),UCrop.REQUEST_CROP);
答案 1 :(得分:1)
TO_DECIMAL (<value> [, <precision>, <scale>])
答案 2 :(得分:0)
我必须通过 context
和 fragment
所以这就是我在 kotlin
中所做的
UCrop.of(sourceFile.toUri(), destinationFile.toUri())
.withAspectRatio(1.toFloat(), 1.toFloat())
.start(requireContext(), this)