Kropper is a android library,which is used to cropping feature for your mobile app, This app cloned from Android-Image-Cropper & I redesigned cropping view as per WhatsApp's cropping view that's all.
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Add the gradle dependency to your app
module build.gradle
file:
dependencies {
implementation 'com.github.ajithvgiri:kropper:v1.0'
}
Add permissions to manifest
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Add this line to your Proguard config file
-keep class androidx.appcompat.widget.** { *; }
Start CropImageActivity using builder pattern from your activity
// start cropping activity for pre-acquired image saved on the device
CropImage.activity(imageUri).start(this)
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
val result = CropImage.getActivityResult(data)
if (resultCode == Activity.RESULT_OK) {
imageView.setImageURI(result.uri)
textView.visibility = View.GONE
} else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
val error = result.error
Toast.makeText(this, "$error", Toast.LENGTH_SHORT).show()
}
}
}
add below code in your activity
// start cropping activity for pre-acquired image saved on the device
CropImage.activity(imageUri).start(this);
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
CropImage.ActivityResult result = CropImage.getActivityResult(data);
if (resultCode == RESULT_OK) {
Uri resultUri = result.getUri();
} else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
Exception error = result.getError();
}
}
}
This library is cloned from Android Image Cropper. Library name credit goes to Arthur.
Copyright 2020 Ajith v
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.