引語
晚上好,我是貓咪,我的公眾號「菜鳥翻身」會推薦 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
更多文章請關注公號:菜鳥翻身。