diff --git a/library/src/main/api21/com/google/android/cameraview/Camera2.java b/library/src/main/api21/com/google/android/cameraview/Camera2.java index 4835f89e..f015d96f 100644 --- a/library/src/main/api21/com/google/android/cameraview/Camera2.java +++ b/library/src/main/api21/com/google/android/cameraview/Camera2.java @@ -263,11 +263,19 @@ Set getSupportedAspectRatios() { @Override boolean setAspectRatio(AspectRatio ratio) { - if (ratio == null || ratio.equals(mAspectRatio) || - !mPreviewSizes.ratios().contains(ratio)) { + if (ratio == null || ratio.equals(mAspectRatio)) { // TODO: Better error handling return false; } + if (!mPreviewSizes.ratios().contains(ratio)) { + if (mPreviewSizes.ratios().size() <= 0) { + // may be initialized from layout xml + mAspectRatio = ratio; + return true; + } + return false; + } + mAspectRatio = ratio; prepareImageReader(); if (mCaptureSession != null) {