我正在開發使用相機的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