头图

引语

晚上好,我是猫咪,我的公众号「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指北


GitHub指北
4 声望1 粉丝