主要是因为surfaceview的显示大小和camera预览Size不匹配导致的。
下面这一段,我也是借鉴别人然后修改传入的surfaceview宽高位置就可以了。
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
ListsizeList = parameters.getSupportedPreviewSizes();//获取所有支持的camera尺寸
Log.d("jxd","optionSize : mSurfaceView "+mSurfaceView.getWidth()+" * "+mSurfaceView.getHeight());
Camera.Size optionSize = getOptimalPreviewSize(sizeList, mSurfaceView.getHeight(), mSurfaceView.getWidth());//获取一个最为适配的camera.size
Log.d("jxd","optionSize : "+optionSize.width+" * "+optionSize.height);
parameters.setPreviewSize(optionSize.width,optionSize.height);//把camera.size赋值到parameters
mCamera.setParameters(parameters);
//通过SurfaceView显示预览
mCamera.setPreviewDisplay(mHolder);
//开始预览
mCamera.startPreview();
寻找合适的size
/**
* 解