Это представление не ограничено по вертикали
Я просто обновляю Android Studio
и играю с маской Constraint. В xml-атрибуте есть некоторые ошибки.
Это представление не ограничено по вертикали: во время выполнения он будет прыгать влево, если вы не добавите ограничение по вертикали меньше... (Ctrl + F1). Редактор макетов позволяет размещать виджеты в любом месте на холсте и записывает текущую позицию с помощью (например, layout_editor_absoluteX.) Эти атрибуты не применяются во время выполнения, поэтому, если вы нажимаете макет на устройстве, виджеты могут отображаться в другом месте, чем показано в редакторе. Чтобы исправить это, убедитесь, что виджет имеет как горизонтальные, так и вертикальные ограничения, перетаскивая их из пограничных соединений.
Я выполняю следующие действия:
Right click on designing part > Constraint Layout > Infer Constraints
но я не могу найти Constraint Layout
.
Я также заметил, что ограничения вывода не всегда срабатывают. Что я делаю, я:
- Перетащите представление, которое я хочу, в макет ограничения, Выровняйте его на экране, как я хочу, чтобы он отображался, Вручную создайте соединение между его левым ограничением ограничений со своим родителем или другим видом, Вручную создайте соединение между его основным ограничением ограничений со своим родителем или другим видом.
Этот метод ограничения делает ненужным для меня infer constraints
потому что все мои взгляды ограничены. Если я получаю какие-либо ошибки, я clear all constraints
а затем вручную создаю соединения для каждого вида в макете.
Здесь изображение, описывающее, что я имею в виду:
Я ограничил левый и верхний, и при этом ничто не должно быть выведено.
Примечание.
- Я использую Android 3.0 и версию ConstraintLayout 1.0.2 Он хорошо работает при создании только двух соединений, которые перпендикулярны друг другу, то есть верхний/левый, верхний/правый, снизу/слева, снизу/справа.
Вы получаете эту ошибку, потому что вы не упомянули marginTop в своем элементе в макете ограничений. Вам нужно установить android:layout_marginTop="your_value"
и ваша проблема будет решена