我试图创建相机应用程序,但我遇到了这个问题:在横向模式下使用相机时一切正常,但在纵向使用 setDisplayOrientation(90) 方法时会出现这个问题:
一半的屏幕是黑色的。
图片在这里:http: //i.stack.imgur.com/sPTex.jpg
表面创建方法:
@Override
public void surfaceCreated(SurfaceHolder holder) {
try {
this.camera = Camera.open();
this.camera.setDisplayOrientation(90);
this.camera.setPreviewDisplay(this.holder);
} catch (IOException e) {
e.printStackTrace();
}
}
我的 XML 布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<FrameLayout
android:id="@+id/cameraPreview"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1" >
</FrameLayout>
<Button
android:id="@+id/analyzeButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/analyze" />
</LinearLayout>
顺便说一句,在使用 ADB 拍摄的屏幕截图中 - 相机正常显示。在 Xperia ST27i 和三星 Galaxy Pocket 上进行测试 - 结果相同。
谢谢