我正在开发使用相机的Android应用程序。我遇到了surfaceChanged()方法的问题。这是我的代码。Android相机在旋转手机时更改尺寸
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
Log.e(TAG, "surfaceChanged");
if (mPreviewRunning) {
mCamera.stopPreview();
}
Camera.Parameters parameters = mCamera.getParameters();
parameters.setPreviewSize(w, h);
mCamera.setParameters(parameters);
try {
mCamera.setPreviewDisplay(holder);
} catch (IOException e) {
e.printStackTrace();
}
mCamera.startPreview();
mPreviewRunning = true;
}
变量mPreviewRunning在开始时被初始化为false。程序运行得很好,水平方向。但是当我将手机旋转到垂直方向时,屏幕旋转并拉伸。我不明白为什么会发生。请帮我解决这个问题。
我通过在清单文件中修复** landscape **的活动方向来解决此问题。 :) – Malaka