Основы создания интерфейса
16.01.2025
Last updated
16.01.2025
Last updated
Графический интерфейс пользователя (GUI) в Android представляет собой иерархию объектов android.view.View
и android.view.ViewGroup
.
Каждый объект ViewGroup
является контейнером, который организует дочерние объекты View
. К контейнерам относятся такие элементы, как RelativeLayout
, LinearLayout
, GridLayout
, ConstraintLayout
и другие.
Простые объекты View
представляют элементы управления, такие как кнопки, текстовые поля и другие виджеты, через которые пользователь взаимодействует с приложением.
Большинство визуальных элементов, наследующихся от класса View
, например кнопки или текстовые поля, находятся в пакете android.widget
.
Создание элементов управления программно в коде Java.
Объявление элементов интерфейса в XML.
Комбинированный подход: базовые элементы разметки определяются в XML, а остальные добавляются во время выполнения.
Начнем с первой стратегии — создания интерфейса в коде 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()
.