2017-01-05 2 views
0

J'ai utilisé le code ci-dessous de la bibliothèque ucrop et la fenêtre de recadrage apparaît.Ucrop onActivityMethod ne fonctionne pas

Uri destinationUri = Uri.fromFile(new File(myContext.getCacheDir(), "IMG_" + System.currentTimeMillis())); 
      UCrop.of(sourceUri, destinationUri) 
        .withMaxResultSize(maxWidth, maxHeight) 
        .start(myContext); 

mais le contrôle ne va pas dans la méthode onActivityResult. Si/Sinon les deux ne fonctionnent pas.

@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); 
    } 
} 

Une idée de ce qui est faux, ai-je raté quelque chose?

+0

est-il un rapport fixe que vous voulez rogner? ** comme 16: 9, 4: 3, 1: 1 ** –

Répondre

0
Uri destinationUri = Uri.fromFile(new File(myContext.getCacheDir(), "IMG_" + System.currentTimeMillis())); 
       UCrop.of(sourceUri, destinationUri) 
       .withMaxResultSize(1080, 768) // any resolution you want 
       .start(mContext, YourFragment/YourActivity.this); 
+0

Merci. J'ai déjà trouvé la réponse :-) – user7327850

+0

vous êtes les bienvenus, mec! –

0

La modification du code appelant ci-dessous fonctionne.

Uri destinationUri = Uri.fromFile(new File(myContext.getCacheDir(), "IMG_" + System.currentTimeMillis())); 
    startActivityForResult(UCrop.of(sourceUri, destinationUri) 
      .withMaxResultSize(maxWidth, maxHeight) 
      .getIntent(getContext()),UCrop.REQUEST_CROP);