2

我正在努力解决与让 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());

在此处输入图像描述

感谢您的任何帮助或指导!

编辑:它似乎在横向模式下工作得很好,所以问题似乎出现在纵向模式下。

4

1 回答 1

0

我有一个类似的问题。我为我的应用程序使用了与默认主题不同的主题。在 AndroidManifest.xml 我添加了:

    android:theme="@style/MaterialTheme">`

在styles.xml 上:

<resources>
<style name="MaterialTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowFullscreen">true</item>
</style>

于 2018-03-19T02:35:45.433 回答