gpt4 book ai didi

java - 使用RelativeLayout时出现意外的黑色 View

转载 作者:行者123 更新时间:2023-12-02 10:13:43 25 4
gpt4 key购买 nike

问题


我在 RelativeLayout 中封装了一个 SurfaceView 和两个 Button。但是,未知的问题发生了。

它会创建一个黑色 View ,如屏幕截图所示。从最后开始,SurfaceView 开始,或者 SurfaceView 停留在黑色 View 的后面。

来源:(surface_look.xml)

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">

<SurfaceView
android:id="@+id/mainSurface"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:translationZ="15dp"/>

<Button
android:id="@+id/surface_up"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="🔺"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_margin="10dp"/>

<Button
android:id="@+id/surface_down"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="🔻"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_margin="10dp"/>

</RelativeLayout>

结果(主要 Activity ) Layout Runtime Screenshot

斯科特评论更新 Screenshot after changing background当我更改 RelativeLayoutbackground 颜色时,黑色 View 会更改为颜色。这意味着它是 RelativeLayout 的背景。那么就出现了两个问题。

  • 为什么它没有填满整个高度?

  • 为什么 SurfaceView 从布局的末尾开始裹在里面?

最佳答案

[根据我们在您问题评论中的聊天内容]

如果使用 ConstraintLayout 作为 Root View ,您的 surface_look.xml 布局文件将如下所示。尝试一下,看看它是否可以解决您在使用 RelativeLayout 时遇到的定位问题。

注意,您必须包含约束布局依赖项才能在代码中使用它。

<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">

<!-- let the constraints of the surface view determine it's width and height -->

<SurfaceView
android:id="@+id/mainSurface"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:translationZ="15dp"/>

<Button
android:id="@+id/surface_up"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="🔺"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_margin="10dp"/>

<Button
android:id="@+id/surface_down"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="🔻"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_margin="10dp"/>

</android.support.constraint.ConstraintLayout>

关于java - 使用RelativeLayout时出现意外的黑色 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54822447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com