Отсутствует предупреждение об ограничении для барьера - ошибка?
Я получаю предупреждение об отсутствующих ограничениях на Barrier
, который был добавлен в (теперь стабильную) версию 1.1.0
из ConstraintLayout
,
Это представление не ограничено, оно имеет только позиции времени разработки, поэтому оно перейдет к (0,0), если вы не добавите ограничения
Тем не менее, Barrier
Насколько мне известно, не использует никаких ограничений, и я не думаю, что можно даже добавить их
Это ошибка или я что-то упустил?
2 ответа
Если у вас есть что-то вроде tools:layout_editor_absoluteX="123dp"
или же tools:layout_editor_absoluteY="384dp"
определяется на барьере, просто удалите его, и предупреждение исчезнет.
Вы получаете этот тип ошибки
Попробуйте добавить барьер таким образом
<android.support.constraint.Barrier
android:id="@+id/barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:constraint_referenced_ids="view1,view2" />
Возможно, вы забыли указать параметр барьер Direction:
<android.support.constraint.Barrier
android:id="@+id/barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="end"
app:constraint_referenced_ids="view1,view2" />
Указание "барьера-направления" для конца уведомит барьер для позиции в конце самого широкого представления, указанного в ссылочных идентификаторах.
Но во время разработки ваш дизайнер может не обновить позицию барьера... как в моем случае: ограничение барьера не рассчитано на дизайнера
РЕДАКТИРОВАТЬ: После очистки кеша и миграции на ConstraintLayout '2.0.0-alpha3' барьер отображается правильно во время разработки.