ConstraintLayout Chains и многоточие текста + изображение справа

ОБНОВЛЕНИЕ ИЮЛЬ 2018:

Если вы используетеConstraintLayout 1.1.0правильное свойство для использованияapp:layout_constrainedWidth="true" на месте старогоapp:layout_constraintWidth_default="wrap" (и высота аналога). Смотрите обновленный ответ.

ОБНОВЛЕНИЕ НОЯБРЯ 2017:

Если вы используетеConstraintLayout 1.0.0 стабильный (или выше) (в настоящее время 1.0.2), см. обновленный Ответ для более простого решения без необходимости вложения макетов.

Оригинальный вопрос:

С помощьюConstraintLayouts-Beta3 выпущен 3 ноября 2016 года. (источник)

Я пытаюсь сделать следующее:

| | |<-[TextView]<->[ImageView] -----------> | | |

Что я достиг с макетом, например, так:

  <TextView
      android:id="@+id/textView"
      android:layout_height="wrap_content"
      android:layout_width="wrap_content"

      app:layout_constraintHorizontal_chainStyle="packed"

      app:layout_constraintLeft_toLeftOf="parent"
      app:layout_constraintTop_toTopOf="parent"
      app:layout_constraintRight_toLeftOf="@+id/caret"
      app:layout_constraintHorizontal_bias="0.0"

      android:text="Some Text"
      android:textAlignment="viewStart"
      android:gravity="start" />

  <ImageView
      android:id="@+id/caret"
      android:layout_width="wrap_content"
      android:layout_height="8dp"
      app:layout_constraintDimensionRatio="1:1"

      app:layout_constraintLeft_toRightOf="@+id/textView"
      app:layout_constraintRight_toRightOf="parent"

      app:layout_constraintTop_toTopOf="@+id/textView"
      app:layout_constraintBottom_toBottomOf="@+id/textView"


      app:layout_constraintHorizontal_bias="0.0"

      android:contentDescription=""
      app:srcCompat="@drawable/ic_selection"
      android:layout_marginStart="8dp"/>

Это выглядит нормально, но когда текст длиннее доступного пространства ...

| | |<-[TextView Larger Than The Space Avail]| | | Текстовое представление имеет стиль, который определяет это:

<item name="android:lines">1</item>
<item name="android:maxLines">1</item>
<item name="android:ellipsize">end</item>

Так чтодолжен работать, но я не уверен, какие ограничения мне нужно, чтобы изображение скользило до правого, а затемстоп там и пусть текстовое представление поймет, что больше нет места.

Что мне не хватает?

Примечание: если я установлю ширину textview равной 0dp, это сработает, но тогда изображение всегда будет справа (горизонтальное смещение, по-видимому, игнорируется)

Заметка 2:Я пробовал это с бета2, на самом деле, похоже, что бета-версия имеетошибка в визуальном редакторе.

ОБНОВИТЬЯ пытался повторить это в Xcode / AutoLayout:

Вот как это выглядит с коротким текстом

Теперь та же схема, я просто набираю длинный текст в текстовом представлении…

Как видите, ограничение следа (справа) для представления изображения говорит: вы8 или больше указывает с правого поля.

Он также прикреплен слева к метке (textView).

Из того, что я только что узнал из Twitter, этоможет быть невозможным на Android ConstraintLayout на данный момент:Источник

Ответы на вопрос(3)

Ваш ответ на вопрос