Я не могу ограничить и обернуть содержимое виджета TextViewCompat (прямого потомка фрагмента с корнем макета ограничения), используя последние рекомендации API. Я пытаюсь обернуть и ограничить как по высоте, так и по ширине.
https://developer.android.com/reference/android/support/constraint/ConstraintLayout
WRAP_CONTENT: применение ограничений (добавлено в 1.1)
Если для измерения задано значение WRAP_CONTENT, в версиях до 1.1 они
будет рассматриваться как буквальное измерение - то есть ограничения будут
не ограничивать результирующее измерение. Хотя в целом этого достаточно
(и быстрее), в некоторых ситуациях вы можете использовать WRAP_CONTENT,
все же продолжайте применять ограничения, чтобы ограничить результирующее измерение. В
В этом случае вы можете добавить один из соответствующих атрибутов:
app:layout_constrainedWidth=”true|false”
app:layout_constrainedHeight=”true|false”
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constrainedWidth="true"
app:layout_constrainedHeight="true"/>
Я также пытался использовать старый API следующим образом:
android:layout_height="0dp"
app:layout_constraintHeight_default="wrap"
но он не переносит AppCompatTextView.
Что касается моего прочтения документации, то должна быть возможность ограничить размеры и высоту одновременно.
Однако единственный способ, которым мне удалось обернуть и ограничить высоту AppCompatTextView, - это , сняв ограничение на высоту , например так:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constrainedWidth="true"
Это похоже на нестабильное решение.
Также кажется, что это не предназначенное для меня поведение. Я понимаю, что в Constraint Layout 1.1+ ограничение + перенос должен работать. Раньше он работал с предыдущим API (см. Выше), теперь он не работает ни с одним из API.
Я что-то упустил? Это ошибка?
Буду признателен за любую помощь!
РЕДАКТИРОВАТЬ: Также имел другую идею и попробовал это в соответствии с документами API, все еще без успеха:
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintWidth_min="wrap"
app:layout_constraintWidth_max="wrap"
app:layout_constraintHeight_min="wrap"
app:layout_constraintHeight_max="wrap"