【发布时间】:2020-05-13 09:57:14
【问题描述】:
在我的 OpenCV 应用程序中,在以下布局中,根 ViewGroup 是 FrameLayout 和 android:layout_width="match_parent" 和 android:layout_height="match_parent",并且有 no android:padding。
这个 FrameLayout 包含一个JavaCameraView,它也有android:layout_width="match_parent" 和android:layout_height="match_parent",并且没有 android:layout_margin。
所以JavaCameraView 应该跨越整个屏幕。但相反,它的上方和下方都有黑色填充。 如何消除JavaCameraView 上方和下方的填充?
根据this answer,JavaCameraView继承自SurfaceView。所以它应该尊重视图层次结构中自身及其父级的 layout_width 和 layout_height 属性对吗?
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<org.opencv.android.JavaCameraView
android:id="@+id/mainActivity_javaCameraView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
【问题讨论】:
-
表面视图填充其父视图。这是未旋转、剪切或缩放以适应表面视图的相机图片
-
@DavidMedenjak 你是对的。我刚刚通过给 JavaCameraView 一个
android:background颜色进行了测试。它似乎填补了父母。但是我也需要相机框架来填充父母。您知道如何强制该相机框架填充父级吗? -
我自己并没有做太多,我只是想澄清这个关于填充的误解
-
@DavidMedenjak 好的。感谢您澄清 =)
标签: android android-layout opencv surfaceview opencv4android