Skip to content

Instantly share code, notes, and snippets.

@griajobag
Last active June 29, 2016 04:19
Show Gist options
  • Save griajobag/7bf102bfd81f8f159cc179e41c70e1dc to your computer and use it in GitHub Desktop.
Save griajobag/7bf102bfd81f8f159cc179e41c70e1dc to your computer and use it in GitHub Desktop.
ini adalah Bagian dari Project Crop Image
package com.example.putuguna.croppingimage;
import android.Manifest;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
import com.theartofdev.edmodo.cropper.CropImage;
import com.theartofdev.edmodo.cropper.CropImageView;
public class MainActivity extends AppCompatActivity {
private Uri mCropImageUri;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/**
* start pick image activity with chooser
* method ini tercipta dari onCLick diLayout
*/
public void onSelectImageClick(View view) {
CropImage.startPickImageActivity(this);
}
@TargetApi(Build.VERSION_CODES.M)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == CropImage.PICK_IMAGE_CHOOSER_REQUEST_CODE && resultCode== Activity.RESULT_OK){
Uri imageUri = CropImage.getPickImageResultUri(this, data);
// For API >= 23 we need to check specifically that we have permissions to read external storage.
boolean requirePermission = false;
if(CropImage.isReadExternalStoragePermissionsRequired(this,imageUri)){
requirePermission = true;
mCropImageUri = imageUri;
requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},0);
}else{
startCropImageActivity(imageUri);
}
}
if(requestCode==CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE){
CropImage.ActivityResult result = CropImage.getActivityResult(data);
if(resultCode==RESULT_OK){
ImageView aa = (ImageView) findViewById(R.id.quick_start_cropped_image);
aa.setImageURI(result.getUri());
}else if(resultCode==CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE){
Toast.makeText(this, "Cropping failed: " + result.getError(), Toast.LENGTH_LONG).show();
}
}
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if(mCropImageUri!=null && grantResults.length>0 && grantResults[0]== PackageManager.PERMISSION_GRANTED){
// required permissions granted, start crop image activity
startCropImageActivity(mCropImageUri);
}else{
Toast.makeText(this, "Cancelling, required permissions are not granted", Toast.LENGTH_LONG).show();
}
}
/**
* Start crop image dengan image yang telah diambil.
*/
private void startCropImageActivity(Uri imageUri) {
CropImage.activity(imageUri)
.setGuidelines(CropImageView.Guidelines.ON)
.start(this);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment