Last active
June 29, 2016 04:19
-
-
Save griajobag/7bf102bfd81f8f159cc179e41c70e1dc to your computer and use it in GitHub Desktop.
ini adalah Bagian dari Project Crop Image
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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