允许 TextView 增长到约束布局中的某个点

Luc*_*cas 4 android android-constraintlayout

有 TextView1 和 TextView2。TextView2 应该浮动在 TextView1 的右侧。只要两个文本视图的总宽度不使 TextView2 与右侧的框重叠,TextView1 就应该向右增长。发生这种情况时,TextView1 应该换行到第二行。

当只有一个 TextView 时,可以通过将 TextView 的宽度设置为 0dp 并将大小限制为框来实现。但是有两个文本视图我不知道如何实现这一点。

在此处输入图片说明

Nic*_*las 6

您可以使用以下属性来实现这一点:

  • app:layout_constraintHorizontal_bias="0": 确保第一个文本视图在左侧没有空间。
  • app:layout_constraintHorizontal_chainStyle="packed":删除文本视图链中项目之间的间距。
  • app:layout_constrainedWidth="true": 允许在wrap_content文本视图上使用 ,同时如果文本太长仍然允许换行。

这是布局:

<TextView
    android:id="@+id/text_view_1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="8dp"
    app:layout_constrainedWidth="true"
    app:layout_constraintEnd_toStartOf="@id/text_view_2"
    app:layout_constraintHorizontal_chainStyle="packed"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    tools:text="Very long text in this text"
    app:layout_constraintHorizontal_bias="0"
    />

<TextView
    android:id="@+id/text_view_2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="8dp"
    app:layout_constraintEnd_toStartOf="@id/box"
    app:layout_constraintStart_toEndOf="@id/text_view_1"
    app:layout_constraintTop_toTopOf="parent"
    tools:text="Text"
    />

<View
    android:id="@+id/box"
    android:layout_width="100dp"
    android:layout_height="100dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    />
Run Code Online (Sandbox Code Playgroud)

我建议您尝试删除每个属性,看看它们有什么影响。