Prioridad de truncamiento de TextView de Android o resistencia de compresión [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Expanda TextView con wrap_content hasta que la vista vecina llegue al final del padre 6 respuestas

Estoy presentando 3 vistas horizontalmente en la pantalla (imagen de tamaño fijo y 2 vistas de texto de una sola línea:leftTextView yrightTextView) y estoy tratando de obtener elrightTextView abrazarse contra elleftTextView, pero en el caso de que el ancho de ambas etiquetas exceda el tamaño de la pantalla, trunca elleftTextiew.

Ejemplo de funcionalidad deseada:

|img|leftText|rightText|                ||(end of screen)
|img|leftTextMedium|rightText|          ||
|img|leftTextTooLongSoTrunc...|rightText||

¿Qué está pasando realmente?

|img|leftText|rightText|                ||(end of screen)
|img|leftTextPrettyLongButNotHuge|rightT||
|img|leftTextWhichIsIncrediblyLongBlahBl||

Actualmente, si el tamaño de ambas vistas de texto excede el ancho de la vista, elrightTextView termina siendo aplastado para hacer espacio, a pesar de que he establecidoandroid:ellipsize="end" sobre elleftTextView.

¿Hay alguna manera de hacer elleftTextView tiene una "prioridad de truncamiento" que dice que debería truncarse si ocasiona que otras vistas no encajen? O, por otro lado, ¿puedo configurar elrightTextView tener una "resistencia a la compresión" para evitar que se aplaste y dejar espacio para elleftTextView? Aquí hay una muestra de mi XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:id="@+id/fixedWidthImage"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:id="@+id/leftTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toEndOf="@+id/fixedWidthImage"
        android:layout_toRightOf="@id/fixedWidthImage"
        android:maxLines="1"
        android:textSize="18sp"
        android:ellipsize="end" />

    <TextView
        android:id="@+id/rightTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toEndOf="@+id/leftTextView"
        android:layout_toRightOf="@+id/leftTextView"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:maxLines="1"
        android:textSize="12sp" />

</RelativeLayout>

Cosas que he probado:

En elleftTextView, Agrega untoStartOf / toLeftOf elrightTextView (bloquea la aplicación)

En lugar de alinear elrightTextView al final / derecho de laleftTextView, voltéalo y alinea elleftTextView al inicio / izquierda de larightTextView. Esto resulta en elrightTextView estar anclado al final de la pantalla en lugar de directamente a la derecha delleftTextView. Ejemplo de cómo se ve esto:

|img|leftText                 |rightText||
|img|leftTextMedium           |rightText||
|img|leftTextTooLongSoTrunc...|rightText||

Incluso si configuroandroid:minWidth="25dp" solo para asegurar al menosparte delrightTextView es visible (lo que no quiero hacer porque la longitud de este texto es variable) todavía termina comprimiendo el ancho para dejar espacio para elleftTextView.

PorEmanuel MoecklinEn respuesta, intenté envolver en unLinearLayout y establecer el peso en elleftTextView. El resultado fue visualmente idéntico al que probé en el n. ° 2.

Respuestas a la pregunta(4)

Su respuesta a la pregunta