引语
晚上好,我是猫咪,我的公众号「GitHub指北」会推荐 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
更多文章请关注公号:GitHub指北。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。