gpt4 book ai didi

Android - 另一个约束布局背景中的约束布局未显示

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:12:29 26 4
gpt4 key购买 nike

我正在处理一个 Android Activity ,我希望在其中有一个标题,以及标题下方的内容。我想要只在内容上拉伸(stretch)的背景图像,而不是标题上的。

enter image description here

从图片中你可以看到我的图像也在屏幕的标志部分被拉伸(stretch)了,这是我不想要的。

这是我当前布局的 xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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:background="@drawable/background_11"
tools:context=".login.LoginActivity"
>

<ImageView
android:id="@+id/logo"
android:layout_width="381dp"
android:layout_height="156dp"
android:src="@drawable/logo"
tools:ignore="ContentDescription"
app:layout_constraintTop_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:layout_marginTop="-480dp"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
app:layout_constraintHorizontal_bias="0.47" />

<ImageView
android:id="@+id/emptyImage"
android:layout_width="384dp"
android:layout_height="445dp"
android:layout_marginBottom="0dp"
android:layout_marginRight="0dp"
android:layout_marginTop="0dp"
android:background="@color/TICK_BACKGROUND"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/logo"
app:layout_constraintVertical_bias="0.0"
app:srcCompat="@drawable/empty" />

<EditText
android:id="@+id/login_usernameTextField"
android:layout_width="291dp"
android:layout_height="63dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="80dp"
android:background="@drawable/rounded_text_edit_shape"
android:ems="10"
android:hint="Username"
android:inputType="textPersonName"
android:textColor="@color/INPUT_TEXT_COLOR"
android:textColorHint="@color/iron"
android:textCursorDrawable="@null"
app:layout_constraintHorizontal_bias="0.506"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/logo"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp" />

<EditText
android:id="@+id/login_passwordTextField"
android:layout_width="291dp"
android:layout_height="63dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="-38dp"
android:background="@drawable/rounded_text_edit_shape"
android:ems="10"
android:hint="Password"
android:textCursorDrawable="@null"
android:inputType="textPassword"
android:textColor="@color/INPUT_TEXT_COLOR"
android:textColorHint="@color/iron"
app:layout_constraintHorizontal_bias="0.506"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/login_usernameTextField"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp" />

<Button
android:id="@+id/login_loginButton"
android:onClick="loginButtonClick"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="30dp"
android:background="@drawable/rounded_button_shape"
android:text="Log In"
android:textColor="@color/white"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/login_passwordTextField"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginBottom="8dp"
app:layout_constraintVertical_bias="0.28"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp" />

</android.support.constraint.ConstraintLayout>

我考虑制作一个父布局,并在该布局内添加一个标题和另一个包含内容的布局。然后像这样在内容布局中设置背景:android:background="@drawable/background_11"

这是我试过的代码:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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">




<ImageView
android:id="@+id/logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
app:srcCompat="@drawable/logo_2"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="-1dp"
android:layout_marginLeft="0dp"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginRight="8dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintHorizontal_bias="0.0" />

<android.support.constraint.ConstraintLayout
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/background_11"
app:layout_constraintTop_toBottomOf="@id/logo"
android:layout_marginLeft="8dp"
app:layout_constraintLeft_toLeftOf="parent">

</android.support.constraint.ConstraintLayout>
</android.support.constraint.ConstraintLayout>

但是,我的背景没有显示出来。以下是结果: enter image description here

最佳答案

您可以在另一个 ConstraintLayout 中使用一个 ConstraintLayout,但您需要遵守一些规则。 ConstraintLayout 的所有直接子级都应该在左、上、右和下有约束。

我觉得你里面的ConstraintLayout没有left和right的约束,他宽高都等于0dp,他不显示。

您是否尝试过向内部 ConstraintLayout 添加约束 left 和 rigth ?

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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">

<ImageView
android:id="@+id/logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
app:srcCompat="@drawable/logo_2"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="-1dp"
android:layout_marginLeft="0dp"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginRight="8dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintHorizontal_bias="0.0" />

<android.support.constraint.ConstraintLayout
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/background_11"
app:layout_constraintTop_toBottomOf="@id/logo"
android:layout_marginLeft="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent">

</android.support.constraint.ConstraintLayout>
</android.support.constraint.ConstraintLayout>

希望这对您有所帮助。

关于Android - 另一个约束布局背景中的约束布局未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45856600/

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