android父布局背景图被子控件大小影响

布局如下 :
我在ConstraintLayout布局里添加了一张背景图(1080*1400),希望它铺满屏幕,但遇到2个问题:
1.如果我不向ConstraintLayout布局内部添加任何组件,背景不显示
2.我发现背景图的显示高度跟随着我的ImageView设置的布局高度一起变化,如果我设置,导致我的背景图不能正常显示


<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"

    android:layout_gravity="fill_vertical"
    android:layout_marginBottom="?attr/actionBarSize"

    android:orientation="vertical"

    tools:context=".ui.home.HomeFragment"

    tools:ignore="SpeakableTextPresentCheck">

   <!-- -->
    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="1400dp"
        android:background="@drawable/home_page"
        tools:context=".ui.home.HomeFragment"

        >

        <ImageView
            android:id="@+id/imageView3"
            android:layout_width="20dp"
            android:layout_height="30dp"
            android:src="@drawable/next"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            />

      



    </androidx.constraintlayout.widget.ConstraintLayout>


</androidx.core.widget.NestedScrollView>

我的解决方案:
在ConstraintLayout布局内又加了一层布局,虽然解决了问题。但是不理解什么导致的,是否有更好的解决方法而省去这层嵌套

以下回答参考GPT并且由Bony-整理:
您可以将ConstraintLayout的高度设置为wrap_content,并将background设置为scaleType="fitXY",这样背景图就可以铺满整个布局,并且不会受到子视图布局高度的影响。这样您就不需要添加额外的嵌套布局。

以下是示例代码:

<androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/home_page"
    android:scaleType="fitXY">

    <!-- Your views here -->

</androidx.constraintlayout.widget.ConstraintLayout>

注意:如果您的背景图比设备的屏幕尺寸小,则可能会出现拉伸或模糊的情况。您可以将背景图放大或缩小,或者选择不使用铺满整个布局的背景图。