如何将 Text View 放置在 ConstraintLayout 的最底部?

How to place TextView at the very bottom of ContraintLayout?

我试图将 TextView 定位到 ConstraintLayout 的底部,但是尽管我放了 app:layout_constraintHorizontal_bias="1.0" 还是有一种 'marging' 或 'padding',正如您在下图:

底部的约束添加了这个填充,我无法删除它。这是我的 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"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:orientation="vertical"
android:paddingBottom="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="10dp">

<de.hdodenhof.circleimageview.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/picture"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:src="@drawable/ic_launcher_background"
    app:civ_border_color="#FF000000"
    app:civ_border_width="2dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="1.0" />

<TextView
    android:id="@+id/title"
    android:layout_width="0dp"
    android:layout_height="50dp"
    android:layout_alignParentTop="true"
    android:layout_marginStart="8dp"
    android:layout_weight=".90"
    android:ellipsize="end"
    android:maxLines="2"
    android:paddingLeft="5dp"
    android:paddingRight="5dp"
    android:singleLine="false"
    android:textColor="@android:color/black"
    android:textSize="16sp"
    android:textStyle="bold"
    app:layout_constraintBottom_toBottomOf="@+id/picture"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toEndOf="@+id/picture"
    app:layout_constraintTop_toTopOf="@+id/picture"
    app:layout_constraintVertical_bias="0.0" />

<ImageView
    android:id="@+id/badge"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginEnd="8dp"
    android:layout_marginStart="8dp"
    android:src="@drawable/orange_badge"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.08"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.0"
    android:contentDescription="notificationBadge" />

<TextView
    android:id="@+id/status"
    android:layout_height="23dp"
    android:layout_alignParentBottom="true"
    android:layout_marginTop="24dp"
    android:gravity="bottom|end"
    android:maxLines="1"
    android:singleLine="true"
    android:textSize="12sp"
    android:layout_width="133dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="1.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="1.0" />

</android.support.constraint.ConstraintLayout>

我试图放在底部的 TextView 是 @+id/status。 提前谢谢你。

删除主 ConstrainLayout 元素中的行 android:paddingBottom="16dp"

您的 <ConstraintLayout> 标签定义了这些属性:

android:paddingBottom="16dp"
android:paddingRight="16dp"

这是您看到的额外 space。您必须从父视图中删除此填充,并为子视图添加边距,以便在不导致每个子视图都被插入的情况下实现相同的视觉效果。