Как подавить ошибку компоновки ограничения " сопоставление родителя не поддерживается в ConstraintLayout"


В последней версии компоновки ограничений, Beta 5, Использование match_parent создает исключение:

android.view.InflateException: Binary XML file line #12: MATCH_PARENT is not supported in ConstraintLayout

Как поясняется в примечании к выпуску:

"(...) его поведение не определено. Чтобы уменьшить риск ошибок, мы теперь бросим исключение, если мы с ним столкнемся."- Источник

Они предположили, что правильным использованием было бы использовать 0dp (MATCH_CONSTRAINT), но поскольку у меня есть макет ящика внутри моего макета ограничений, установка ширины в 0dp бросает "Ничья должна быть измерена с помощью MeasureSpec.Именно " ошибка.

Итак, мой вопрос заключается в том, как я могу подавить ошибку "MATCH_PARENT не поддерживается в ConstraintLayout"?

2 6

2 ответа:

Замена

android:layout_width="match_parent"

В ConstraintLayout можно сделать с помощью

android:layout_width="0dp" 
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"

Т. е. ограничение виджета правым и левым краями родительского элемента

По крайней мере, начиная с версии 1.1.0-beta3 компоновки ограничений,

Вы можете использовать match_parent без проблем.

Однако по-прежнему рекомендуется использовать:

android:layout_width="0dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"