Сначала сделайте так, как предлагали другие, и установите атрибут для ImageButton.
андроид: layout_alignParentEnd = "истинный"
Во-вторых, избавьтесь от конца отступа в textView. Все, что вам нужно, это убивает количество места, доступного для текста.
В-третьих, добавьте атрибут в TextView для выравнивания по началу изображения.
андроид: layout_toStartOf = "@ + идентификатор / BTN"
Ваш код должен выглядеть примерно так:
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="false"
android:layout_centerVertical="true"
android:fontFamily="sans-serif"
android:textSize="20sp"
android:layout_toStartOf="@+id/btn"
tools:text="aaaaaaaa bbbbb dddddddd haveeverythinginlinefortheotherpeopletoseewhatyouhavedoneinthemaintextview"/>
<ImageButton
android:id="@+id/btn"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_centerVertical="true"
android:layout_alignParentEnd="true"
android:clickable="true"
android:focusable="true"
android:padding="4dp"
app:srcCompat="@android:drawable/btn_star_big_on"/>
введите описание изображения здесь Теперь вы можете получить желаемую текстовую переноску. Однако Android TextView не имеет атрибута, который допускает дефисы, и не может решить, где разбить длинное слово или набор букв. Поэтому textView будет прерываться, когда это будет удобно, как после пробела в тексте. В противном случае текст будет заполнен до конца строки и продолжится на следующей строке.