Android 图片裁剪库 uCrop


引语

晚上好,我是猫咪,我的公众号「菜鸟翻身」会推荐 GitHub 上好玩的项目,挖掘开源的价值,欢迎关注我。

现在 Android 开发,离不开图片,必然也需要图片裁剪功能,这个实现可以调用系统的裁剪,但有些产品经理可能不满意自带的裁剪效果,因此 BB,怎么办呢?我这里推荐一个 Android 图片裁剪库 uCrop,Yalantis 出品,绝壁能让产品经理闭嘴。

效果预览

使用示例

1、引入 uCrop 库。

allprojects {
repositories {
jcenter()
maven { url "https://jitpack.io" }
}
}

implementation 'com.github.yalantis:ucrop:2.2.4' -轻巧的通用解决方案。

implementation 'com.github.yalantis:ucrop:2.2.4-native' - 获得本机代码的功能以保持图像质量(apk 大小约为 1.5 MB)。

2、将 UCropActivity 添加到您的 AndroidManifest.xml 中。

<activity
android:name="com.yalantis.ucrop.UCropActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>

3、使用构建器模式配置 uCrop。

UCrop.of(sourceUri, destinationUri)
.withAspectRatio(16, 9)
.withMaxResultSize(maxWidth, maxHeight)
.start(context);

4、覆盖onActivityResult方法并处理 uCrop 结果。

@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);
}
}

5、混淆配置。

-dontwarn com.yalantis.ucrop**
-keep class com.yalantis.ucrop** { *; }
-keep interface com.yalantis.ucrop** { *; }

GitHub 地址

https://github.com/Yalantis/uCrop

更多文章请关注公号:菜鸟翻身


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM