我正在努力解决与让 camera2 在表面视图上全屏显示相关的问题。它确实填满了表面视图的整个高度,但是当涉及到宽度时,我会遇到问题(请参见下面的图片)。
我的布局文件如下所示:
<android.view.SurfaceView
android:id="@+id/preview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentBottom="true">
</android.view.SurfaceView>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:ems="10"
android:id="@+id/username"
android:hint="Brukernavn"
android:gravity="center"
android:layout_above="@+id/password"
android:layout_centerHorizontal="true" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:hint="Passord"
android:id="@+id/password"
android:gravity="center"
android:layout_centerVertical="true"
android:layout_alignLeft="@+id/username"
android:layout_alignStart="@+id/username" />
在 surfaceCreated 方法中,我运行以下代码以设置 Surfaceview 的所需大小
Size[] size = strem_conf.getOutputSizes(SurfaceHolder.class);
((SurfaceView)findViewById(R.id.preview)).getHolder().setFixedSize(size[0].
getWidth(),size[0].getHeight());
感谢您的任何帮助或指导!
编辑:它似乎在横向模式下工作得很好,所以问题似乎出现在纵向模式下。