Страницы

Поиск по вопросам

пятница, 31 января 2020 г.

Расположение элементов в ConstraintLayout

#android #xml


Не могу поменять расположение элементов на разметке. 
Делаю так:


Получается так:





    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    


Ответы

Ответ 1



В вашей разметке размещены виджеты, но не установлены связи между ними и краями экрана. Для того, чтобы в ConstraintLayout расположить три кнопки равномерно по горизонтали нужно воспользоваться инструментом этого контейнера - chains (цепочки). Для этого: Переносим на разметку наши кнопки с приблизительным расположением, затем привязываем их к вехнему краю - кликаем на каждую кнопку поочереди и протягиваем верхнюю точку (она станет зеленой) до верхнего края. Установится связь, обозначенная стрелкой: Выделяем все три кнопки (Shift + левый клик по кнопке). Затем в верхнем меню пиктограмм нажимаем на две серые горизонтальные черточки с синей вертикальной чертой слева (пиктограмма Align) и там нажимаем пиктограмму с вертикальной чертой и двумя синими стрелками в сторону друг друга (пиктограмма Center Horizontally): Появится горизонтальная связь - цепочка и добавятся иконки цепи под виджетами. Все, теперь на любых экранах эти три кнопки будут отцентрированы по горизонтали. Кликая на значок цепи под любым виджетом можно изменять их горизонтальное взаиморасположение (вместе, равномерно, по сторонам). Подробнее о инструменте Chains в ConstrainLayout и больше вариантов взаиморасположения соединяемых виджетов и их индивидуальных размерах и пропроциях. Официальная документация по вопросу. Анимированный гайд от Google. PS: пункт Center Horizontally так же есть в контекстном меню при правом клике на виджете.

Ответ 2



Вы используете ConstraintLayout, в нём нужно задать расположение кнопок относительно друг друга, подробнее можно почитать здесь. Либо просто использовать LinearLayout с orientation="horizontal", и вложить в него по порядку кнопки со space. Примеры

Комментариев нет:

Отправить комментарий