# УФ6. UI Layouts

Существует много видом контейнеров, которые называются макетами. В первую очередь они используются для создания экранов на которых располагаются элементы управления. Существуют следующие виды макетов:

* ConstraintLayout - данный макет использует так называемые ограничения, которые позволяют ему цеплять элементы друг к другу и к границам экрана. Таким образом данный макет позволяет создавать гибкие и масштабируемые визуальные интерфейсы.
* LinearLayout - простейший контейнер, который позволяет сортировать все компоненты по вертикали, либо по горизонтали. Все элементы расположены один за другим.
* RelativeLayout - позволяет располагать элементы управления в направлении относительно других элементов.
* TableLayout - структурирует элементы управления в виде таблицы по строкам и столбцам.
* FrameLayout - предназначен для вывода на экран одного помещенного в него визуального элемента.
* GridLayout - позволяет создавать табличные представления, которые состоят из коллекции строк, каждая из которых состоит из отдельных ячеек

## LinearLayout

Ознакомится с LinearLayout можно в видео ниже (ссылка на канал автора: <https://www.youtube.com/channel/UCzE7HcbvyEiS5ea1rVRbPLQ>).

{% embed url="<https://youtu.be/gm0gCY2qA54?t=88>" %}

## ConstraintLayout

Работе с ConstraintLayout можно ознакомится в видео ниже (ссылка на канал автора: <https://www.youtube.com/channel/UCzE7HcbvyEiS5ea1rVRbPLQ>). Следует отметить, что многие пункты панели управления в графическом редакторе используется только с ConstraintLayout.

![Рис. 1. Панель управления графического редактора](https://1012242269-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO4xhIdPuIYBTJd60BA%2F-MZzs5-Y9O2QmGxU-y7D%2F-M_-QZT6tMDFiOUoY9VH%2Fimage.png?alt=media\&token=387aad68-cbfd-4221-8d18-36fd65eb4038)

{% embed url="<https://youtu.be/zzTi4v20PgY?t=120>" %}

## Контроль

1. Воссоздайте интерфейс MainActivity из приложения по вводу текста и выводу на другом экране с помощью LinearLayout.
2. Добавьте в приложение по вводу текста и выводу на другом экране 3 кнопки со строками и соответствующим фоном - красный, зеленый и синий. Выровняйте эти кнопки по нижнему краю с помощью особенностей ConstarintLayout.
