Camera Preview Stretched on Few Android Devices

前端 未结 3 1450
情歌与酒
情歌与酒 2020-12-01 04:47

I am making custom Camera like \"SnapChat\" for a Android app but camera preview is stretched on Few devices like(Moto g second generation , one+ one) but not on(Samsung s3,

3条回答
  •  失恋的感觉
    2020-12-01 05:22

    You need to override the onMeasure method of SurfaceView class to get width and height of surfaceview

    @Override
        protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
            final int width = resolveSize(getSuggestedMinimumWidth(), widthMeasureSpec);
            final int height = resolveSize(getSuggestedMinimumHeight(), heightMeasureSpec);
            setMeasuredDimension(width, height);
    
            if (mSupportedPreviewSizes != null) {
                mPreviewSize = getOptimalPreviewSize(mCamera.getParameters().getSupportedPreviewSizes(), width, height);
            }
        }
    

    Then set the preview size you got to the camera parameters preview size.

    cameraParameters.setPreviewSize(mPreviewSize.width, mPreviewSize.height);
    mCamera.setParameters(cameraParameters);
    

    getSuggestedMinimumHeight(), getSuggestedMinimumWidth() are the methods of View class

    Hope this helps !!!

提交回复
热议问题