AndroidManifest.xml 파일에 화면 방향을 지정하지 않으면 기본 표시 방향은 가로 위치이며 휴대 전화를 회전 할 때마다 Android 이미지가 가져온 이미지를 변경하여 이미지를 휴대 전화와 나란히 유지합니다. 따라서 두 가지 옵션이 있습니다.
1.1. 의 AndroidManifest.xml 파일의 화면 방향을 지정하고 적절하게 화면 방향을 설정합니다
의 AndroidManifest.xml :
<activity
android:label="@string/app_name"
android:name=".CameraPreview"
android:screenOrientation="portrait" >
CameraPreview.java :
mCamera.setPreviewDisplay(holder);
mCamera.setDisplayOrientation(90);
또는
의 AndroidManifest.xml을 :
<activity
android:label="@string/app_name"
android:name=".CameraPreview"
android:screenOrientation="landscape" >
CameraPreview.java :
mCamera.setPreviewDisplay(holder);
mCamera.setDisplayOrientation(0);
1.2. 의 AndroidManifest.xml 파일의 화면 방향을 지정하고 적절하게 화면 방향이에게 화면이 회전 할 때마다 설정하지 마십시오 :
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
int rotation = ((Activity)mCtx).getWindowManager().getDefaultDisplay().getRotation();
int degrees = 0;
switch (rotation) {
case Surface.ROTATION_0: degrees = 90; break;
case Surface.ROTATION_90: degrees = 0; break;
case Surface.ROTATION_180: degrees = 270; break;
case Surface.ROTATION_270: degrees = 180; break;
}
mCamera.setDisplayOrientation(degrees);
Camera.Parameters parameters = mCamera.getParameters();
parameters.setPreviewSize(w, h);
mCamera.setParameters(parameters);
mCamera.startPreview();
}
을하지만, 그것은 아직에 버튼을 세로 레이아웃을 설계 한 것으로 보이기 때문에, 나는 최선의 선택이 첫 번째 선택이라고 생각한다.
호프가 도움이되고 도움이되기를 바랍니다.
괜찮아요. 좋아요.하지만 문제는 가로와 세로 방향 사이의 크기가 다르다는 것입니다. 조경에서는 그것의 거의 전체 화면 및 초상화에서 그것의 다만 센터에있는 전시의 세 번째를 생각한다. 내가 뭐라는지 알 겠어? –
알았어. 방금 Google의 샘플 코드에서 child.layout (...)을 변경해야했습니다. 이제는 꽤 잘 작동하지만 넥서스에서 테스트 한 것을 알고 있기 때문에 다른 장치에서 테스트해야합니다. 감사합니다! –