Сделайте обзор максимально широким, не обрезая другой вид - PullRequest
0 голосов
/ 05 марта 2020

У меня есть два представления (A и B) в constraintLayout. Я хочу ограничить A & B влево / начало родительского элемента, но я хочу, чтобы A был как можно шире, не обрезая часть B (должна быть показана полностью) справа от A. Если A слишком широкий, он должен обернуться на следующую строку, чтобы B можно было показать полностью. Это то, что я пробовал до сих пор, но А, кажется, принял фиксированную ширину, оставляя пустое пространство между собой и Б.

<androidx.appcompat.widget.AppCompatTextView
        android:ellipsize="end"
        android:maxLines="2"
        android:layout_marginEnd="10dp"
        tools:text="Iceland A text"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/b"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constrainedWidth="true"
        android:textStyle="bold"
        android:id="@+id/a"
        android:layout_width="0dp"
        android:layout_height="wrap_content"/>

<androidx.appcompat.widget.AppCompatTextView
        android:textColor="@color/tcBlack"
        tools:text="500 Items"
        android:id="@+id/b"
        android:textSize="18sp"
        android:layout_marginStart="10dp"
        app:layout_constraintStart_toEndOf="@+id/a"
        app:layout_constraintBottom_toBottomOf="@+id/a"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="@+id/a"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

1 Ответ

1 голос
/ 05 марта 2020

Попробуйте следующий макет:

<androidx.constraintlayout.widget.ConstraintLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This is some very long text. This is some very long text. This is some very long text. This is some very long text. This is some very long text. "
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/textView2"
        app:layout_constrainedWidth="true"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintHorizontal_chainStyle="packed"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/textView1"
        app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

Два текстовых представления помещены вместе в упакованную цепочку, которая будет центрировать представления. Установка смещения на «0.0» перемещает текстовые представления полностью влево от экрана. Настройка app:layout_constrainedWidth="true" удерживает текстовые представления в границах экрана.

enter image description here

...