Создание графического интерфейса
16.01.2024
Last updated
16.01.2024
Last updated
В прошлой теме мы рассмотрели создание простого приложения, который предлагает Android Studio по умолчанию и которое просто выводит на экран строку Hello Android
.
Но почему у нас выводится именно эта строка? Почему у нас вообще создается именно такой визуальный интерфейс?
Выполнение приложения Android по умолчанию начинается с класса MainActivity
, который по умолчанию открыт в Android Studio:
Каждый отдельный экран или страница в приложении описывается таким понятием, как activity. В литературе могут использоваться различные термины: экран, страница, активность. В данном случае будет использоваться понятие "activity".
При запуске приложения на устройстве на экране будет отображена определенная activity, представляющая данный интерфейс.
Класс MainActivity
представляет обычный класс Java, структура которого выглядит следующим образом:
Класс MainActivity
наследуется от класса AppCompatActivity
, который представляет отдельный экран (страницу) приложения или его визуальный интерфейс.
По умолчанию MainActivity
содержит метод onCreate()
, в котором создается весь интерфейс приложения:
Метод setContentView()
определяет, какой именно визуальный интерфейс будет иметь MainActivity
:
R.layout.activity_main
представляет файл activity_main.xml
из папки res/layout
. Этот файл также открыт в Android Studio:
Android Studio позволяет работать с визуальным интерфейсом как в режиме кода, так и в графическом режиме. По умолчанию файл открыт в графическом режиме, где можно наглядно увидеть интерфейс приложения. Также можно добавлять элементы управления с панели инструментов, например кнопки или текстовые поля.
Для работы с кодом файла переключитесь в режим кода, нажав на кнопку Code над графическим представлением. Также доступен комбинированный режим Split (код + графический дизайнер).
Весь интерфейс представлен элементом-контейнером ConstraintLayout
:
Определение пространств имен XML:
xmlns:android
: Атрибуты платформы Android (например, размер, позиционирование элементов).
xmlns:app
: Атрибуты, определенные в рамках приложения.
xmlns:tools
: Атрибуты, используемые в режиме дизайнера Android Studio.
android:layout_width
: Ширина контейнера (match_parent
— растягивается по ширине экрана устройства).
android:layout_height
: Высота контейнера (match_parent
— растягивается по высоте экрана устройства).
tools:context
: Класс activity, связанный с этим интерфейсом (в данном случае MainActivity
).
Элемент TextView
устанавливает текст с помощью атрибута android:text
.
Описание атрибутов:
android:layout_width="wrap_content"
: Ширина виджета соответствует содержимому.
android:layout_height="wrap_content"
: Высота виджета соответствует содержимому.
android:text
: Отображаемый текст (в данном случае "Hello World!"
).
app:layout_constraint*
: Указывает границы выравнивания относительно контейнера (parent
).
При запуске приложения сначала загружается класс MainActivity
, который устанавливает разметку интерфейса из файла activity_main.xml
. Поскольку в этой разметке указан элемент TextView
, пользователь видит текст "Hello World!"
на экране.