Vista de Texto exceda de restricción si el texto es demasiado largo en ConstraintLayout

Jacky Tsang:

He uno TextViewalineado a la izquierda y centrado verticalmente. Dos grupos de ImageViewy TextViewson a la vez alineados a la derecha, con dos configuraciones de diseño, una con imagen de la derecha, otro con la imagen de la izquierda.

El texto hola mundo puede ser muy largo. Quiero que se expanda para llenar todo el ancho sin cubrir el texto a la izquierda.

He añadido app:layout_constraintStart_toEndOf="@id/text1"a la restricción del grupo de la derecha (imagen + texto) no se solapan con el texto de la izquierda. Sin embargo, no se comporta como lo esperaba.

Cómo hacer que no se solapan utilizando sólo ConstraintLayout?

resultado con el texto corto

Text1quedarán cubiertas si el texto a la derecha es demasiado largo, que no se espera. Se observó que la imagen de la segunda fila se ha ido también.
resultado con texto largo

código:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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="wrap_content">

    <androidx.appcompat.widget.AppCompatTextView
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:text="Text1" />

    <androidx.appcompat.widget.AppCompatTextView
        android:id="@+id/row1_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintEnd_toStartOf="@id/row1_image"
        app:layout_constraintHorizontal_bias="1"
        app:layout_constraintHorizontal_chainStyle="packed"
        app:layout_constraintStart_toEndOf="@id/text1"
        app:layout_constraintTop_toTopOf="parent"
        tools:text="Hello World" />

    <androidx.appcompat.widget.AppCompatImageView
        android:id="@+id/row1_image"
        android:layout_width="22dp"
        android:layout_height="22dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@id/row1_text"
        app:layout_constraintTop_toTopOf="parent"
        tools:src="@drawable/ic_confirm" />

    <androidx.constraintlayout.widget.Barrier
        android:id="@+id/horizontal_barrier"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:barrierDirection="bottom"
        app:constraint_referenced_ids="row1_text,row1_image" />


    <androidx.appcompat.widget.AppCompatImageView
        android:id="@+id/row2_image"
        android:layout_width="22dp"
        android:layout_height="22dp"
        app:layout_constraintEnd_toStartOf="@id/row2_text"
        app:layout_constraintHorizontal_bias="1"
        app:layout_constraintHorizontal_chainStyle="packed"
        app:layout_constraintStart_toEndOf="@id/text1"
        app:layout_constraintTop_toTopOf="@id/horizontal_barrier"
        tools:src="@drawable/ic_confirm" />

    <androidx.appcompat.widget.AppCompatTextView
        android:id="@+id/row2_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@id/row2_image"
        app:layout_constraintTop_toTopOf="@id/horizontal_barrier"
        tools:text="Hello World" />

</androidx.constraintlayout.widget.ConstraintLayout>

espera que sea, como a continuación si el texto a la derecha es demasiado largo. Puede alcanzado por LinearLayout y RelativeLayoutintroducir descripción de la imagen aquí

NYP:

Amablemente comprobar la versión Constraintlayout. uso app:layout_constrainedWidth="true"conandroid:layout_width="wrap_content"

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=320873&siteId=1
Recomendado
Clasificación