diff --git a/library/src/main/java/cn/finalteam/rxgalleryfinal/Configuration.java b/library/src/main/java/cn/finalteam/rxgalleryfinal/Configuration.java index 9a9df6d6..43759ee1 100644 --- a/library/src/main/java/cn/finalteam/rxgalleryfinal/Configuration.java +++ b/library/src/main/java/cn/finalteam/rxgalleryfinal/Configuration.java @@ -48,6 +48,7 @@ public Configuration[] newArray(int size) { private int imageLoaderType; private int imageConfig; private boolean hideCamera; + private boolean takePicCrop;//画廊中选择相机拍摄照片后直接打开裁剪 private boolean isPlayGif; private boolean hidePreview; private boolean isVideoPreview; @@ -104,6 +105,7 @@ protected Configuration(Parcel in) { imageLoaderType = in.readInt(); imageConfig = in.readInt(); hideCamera = in.readByte() != 0; + takePicCrop = in.readByte() != 0; isPlayGif = in.readByte() != 0; hidePreview = in.readByte() != 0; isVideoPreview = in.readByte() != 0; @@ -172,6 +174,13 @@ public boolean isHideCamera() { public void setHideCamera(boolean hideCamera) { this.hideCamera = hideCamera; } + public boolean isTakePicCrop() { + return takePicCrop; + } + + public void setTakePicCrop(boolean takePicCrop) { + this.takePicCrop = takePicCrop; + } //#ADD public int getImageLoaderType() { @@ -364,6 +373,7 @@ public void writeToParcel(Parcel parcel, int i) { parcel.writeInt(imageLoaderType); parcel.writeInt(imageConfig); parcel.writeByte((byte) (hideCamera ? 1 : 0)); + parcel.writeByte((byte) (takePicCrop ? 1 : 0)); parcel.writeByte((byte) (isPlayGif ? 1 : 0)); parcel.writeByte((byte) (hidePreview ? 1 : 0)); parcel.writeByte((byte) (isVideoPreview ? 1 : 0)); diff --git a/library/src/main/java/cn/finalteam/rxgalleryfinal/RxGalleryFinal.java b/library/src/main/java/cn/finalteam/rxgalleryfinal/RxGalleryFinal.java index 21a5d10b..374ea298 100644 --- a/library/src/main/java/cn/finalteam/rxgalleryfinal/RxGalleryFinal.java +++ b/library/src/main/java/cn/finalteam/rxgalleryfinal/RxGalleryFinal.java @@ -154,6 +154,16 @@ public RxGalleryFinal hideCamera() { return this; } + /** + * 相册中选择拍摄照片后直接打开裁剪 + * 如果不调用该方法,默认回到相册 + */ + public RxGalleryFinal takePicCrop() { + configuration.setHideCamera(false); + configuration.setTakePicCrop(true); + return this; + } + /** * set to true to hide the bottom controls (shown by default) */ diff --git a/library/src/main/java/cn/finalteam/rxgalleryfinal/ui/fragment/MediaGridFragment.java b/library/src/main/java/cn/finalteam/rxgalleryfinal/ui/fragment/MediaGridFragment.java index 63396d55..d5b7d373 100644 --- a/library/src/main/java/cn/finalteam/rxgalleryfinal/ui/fragment/MediaGridFragment.java +++ b/library/src/main/java/cn/finalteam/rxgalleryfinal/ui/fragment/MediaGridFragment.java @@ -845,6 +845,9 @@ public void onNext(MediaBean mediaBean) { if (bk != -1) { mMediaBeanList.add(1, mediaBean); mMediaGridAdapter.notifyDataSetChanged(); + if (mConfiguration.isTakePicCrop()) { + onObItemClick(1); + } } else { Logger.i("获取:无"); } diff --git a/sample/src/main/java/cn/finalteam/rxgalleryfinal/sample/MainActivity.java b/sample/src/main/java/cn/finalteam/rxgalleryfinal/sample/MainActivity.java index b5089f7c..3089558c 100644 --- a/sample/src/main/java/cn/finalteam/rxgalleryfinal/sample/MainActivity.java +++ b/sample/src/main/java/cn/finalteam/rxgalleryfinal/sample/MainActivity.java @@ -247,6 +247,7 @@ private void openRadio() { .radio() .cropAspectRatioOptions(0, new AspectRatio("3:3", 30, 10)) .crop() + .takePicCrop() .imageLoader(ImageLoaderType.FRESCO) .subscribe(new RxBusResultDisposable() { @Override