Основы создания интерфейса
16.01.2025
Графический интерфейс пользователя (GUI) в Android представляет собой иерархию объектов android.view.View и android.view.ViewGroup.
Каждый объект ViewGroup является контейнером, который организует дочерние объекты View. К контейнерам относятся такие элементы, как RelativeLayout, LinearLayout, GridLayout, ConstraintLayout и другие.
Простые объекты View представляют элементы управления, такие как кнопки, текстовые поля и другие виджеты, через которые пользователь взаимодействует с приложением.

Иерархия визуальных компонентов
Большинство визуальных элементов, наследующихся от класса View, например кнопки или текстовые поля, находятся в пакете android.widget.
Три стратегии определения интерфейса
Создание элементов управления программно в коде Java.
Объявление элементов интерфейса в XML.
Комбинированный подход: базовые элементы разметки определяются в XML, а остальные добавляются во время выполнения.
Начнем с первой стратегии — создания интерфейса в коде Java.
Создание интерфейса в коде Java
Создадим новый проект в Android Studio. В качестве шаблона выберем Empty Views Activity.

Назовем проект ViewsApp.

После создания проекта основными файлами для работы с визуальным интерфейсом будут:
MainActivity(Java-код активности).activity_main.xml(разметка активности).
Пример: простой интерфейс
Определим в классе MainActivity простейший интерфейс:
Разбор кода
Создание виджета:
Конструктор виджета принимает контекст — объект
android.content.Context, которым обычно является текущий классMainActivity.Установка свойств:
Методы, начинающиеся с
set, позволяют настроить свойства виджета. Например,setText()задает текст, аsetTextSize()— размер шрифта.Установка интерфейса:
Метод
setContentView()принимает объектView, который будет отображаться в интерфейсе.
Пример: более сложный интерфейс
Добавим TextView в контейнер ConstraintLayout:
Объяснение кода
Создание LayoutParams:
Устанавливается ширина и высота элемента. Константа
WRAP_CONTENTозначает, что размеры виджета зависят от его содержимого.Выравнивание элемента:
Позиционирование относительно границ контейнера (
PARENT_ID).Добавление элемента в контейнер:
Установка интерфейса:
Общие этапы добавления элементов в контейнеры
Создание объекта
ViewGroup.LayoutParamsи настройка его свойств.Передача объекта
LayoutParamsметодуsetLayoutParams()элемента.Добавление элемента в контейнер с помощью метода
addView().
Хотя интерфейс можно создавать программно, более оптимальным способом является использование XML-файлов для описания визуального интерфейса. Это позволяет отделить логику приложения (Java-код) от его интерфейса (XML-разметка). В следующей теме рассмотрим этот подход.
Last updated