# УФ2. Верстка

## Настройка графического редактора

Для настройки графического редактора:

1. В окне проекта откройте **app > res > layout > activity\_main.xml**.
2. Чтобы было больше места для окна графического редактора скройте структуру проекта. Для того чтобы сделать это, кликните по кнопке слева сверху **View > Tool Windows > Project**, или кликните по вертикальной кнопке **Project,** которая находится в левом краю экрана Android Studio .
3. Если редактор показывает исходный XML-код, то кликните по кнопке **Design**, которая находится в правом верхнем углу окна.
4. Кликните по ![](https://developer.android.com/studio/images/buttons/layout-editor-design.png) (**Select Design Surface**) и выберите **Design + Blueprint**.
5. Кликните![](https://developer.android.com/studio/images/buttons/layout-editor-show-constraints.png) (**View Options**) и убедитесь, что активна опция **Show All Constraints**.
6. Убедитесь в том, что автоматическое подсоединение элементов выключено ![](https://developer.android.com/studio/images/buttons/layout-editor-autoconnect-on.png) (**Enable Autoconnection to Parent**).
7. Click ![](https://developer.android.com/studio/images/buttons/default-margins.png) (**Default Margins**) и выберите **16**. Если необходимо, то вы можете настроить отступы для каждого **View** позже.

![Рис.2. Окно редактора после настройки](https://1012242269-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO4xhIdPuIYBTJd60BA%2F-MYhvi1wnrIE0_pNAEw8%2F-MYhx6KCU4zAtf4W9RlT%2F2.2.2%20Editor_Main_Elements.png?alt=media\&token=43c34633-0624-45db-8199-f69fde44dcdd)

В результате выполненных шагов мы настроили редактор для дальнейшей работы на основе макета под названием **ConstraintLayout,** который определяет позицию объекта **View** на основе создания ограничений (constraints) по отношению к другим объектам **View** и макету. Вы можете увидеть такие constraints, посмотрев на текстовый блок "Hello, World!" - у него есть 4 constraints, которые цепляются за каждую границу макета.

## Создание интерфейса

1. В приложении будет 2 Activity - MainActivity и SimpleCalculator. В MainActivity будет меню выбора вида калькулятора. В SimpleCalculator будет вид простого калькулятора который будет содержать:
   1. 2 текстовых поля;
   2. 10 кнопок с цифрами;
   3. 6 кнопок с операциями (плюс, минус, умножение, деление и удаление)
2. Сверху располагается текстовое поле вывода значения вычислений. Ниже располагается текстовое поле вывода значений, которые были активированы по кнопке. Ниже этого поля располагаются кнопки.
3. Кнопки располагаются таким образом, чтобы было примерно 4 кнопки в ряду.
4. Объектам необходимо присвоить ID, соответствующие их назначению и текстовое значение, создав для каждого объекта строку в файле strings.
5. Для аккуратного расположения кнопок создается 4 контейнера LinearLayout с горизонтальным расположением.
6. Текстовые поля по ширине должны быть равны match\_constraint.
7. Кнопки по высоте и ширине должны wrap\_content.
8. LinearLayout по высоте и ширине должны быть wrap\_content.

На рис. 1 показано примерное создание верстки.

![Рис. 1. Примерный интерфейс простого калькулятора](https://1012242269-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO4xhIdPuIYBTJd60BA%2F-M_03wW9q3rhHIJDlyhK%2F-M_04RZjlJr_hNfO1xMd%2Fimage.png?alt=media\&token=83d20342-c3d7-4c47-98f0-ebb3971ce5a3)
