Добавить в корзинуПозвонить
Найти в Дзене
Кодовые решения

Jetpack Compose: Разбираем MainActivity и настройку интерфейса в Kotlin для Android с Edge-to-Edge режимом

Всем привет! В этом уроке мы с вами разберём ключевую конструкцию Android-приложения, созданного с помощью Jetpack Compose. Если раньше Android-разработчики использовали XML для создания интерфейсов, то сейчас, благодаря Jetpack Compose, можно писать UI-код на Kotlin, что ускоряет разработку и делает код чище и удобнее. Сегодня на примере разбора кода MainActivity мы посмотрим, как настраивается главное окно приложения, как включить режим Edge-to-Edge и что такое setContent. Эта статья подойдёт как для начинающих, так и для опытных разработчиков, кто хочет освоить современные подходы к созданию интерфейсов на Android. Давайте сразу перейдём к коду: Edge-to-Edge позволяет вашему приложению занимать всю площадь экрана, включая области за статусбаром и навигационной панелью. Это делает интерфейс современным и более привлекательным, особенно на устройствах с большими дисплеями. Следующая важная часть кода — это вызов функции setContent. Пример кода: Для создания единого стиля в приложении
Оглавление

Всем привет! В этом уроке мы с вами разберём ключевую конструкцию Android-приложения, созданного с помощью Jetpack Compose. Если раньше Android-разработчики использовали XML для создания интерфейсов, то сейчас, благодаря Jetpack Compose, можно писать UI-код на Kotlin, что ускоряет разработку и делает код чище и удобнее.

Сегодня на примере разбора кода MainActivity мы посмотрим, как настраивается главное окно приложения, как включить режим Edge-to-Edge и что такое setContent. Эта статья подойдёт как для начинающих, так и для опытных разработчиков, кто хочет освоить современные подходы к созданию интерфейсов на Android.

Разбор конструкции MainActivity

Давайте сразу перейдём к коду:

-2

Что происходит в MainActivity?

  1. Наследование от ComponentActivity: В Jetpack Compose ComponentActivity заменяет AppCompatActivity, к которой мы привыкли в классической Android-разработке. Это базовый класс для создания активности с использованием Compose, который поддерживает жизненный цикл и взаимодействие с UI-компонентами.
  2. Метод onCreate: Этот метод вызывается при создании активности. Здесь мы производим основную инициализацию, задаём пользовательский интерфейс и активируем дополнительные функции, такие как Edge-to-Edge режим.
  3. Функция enableEdgeToEdge: Давайте немного подробнее остановимся на этой функции.
-3

Зачем нужен Edge-to-Edge режим?

Edge-to-Edge позволяет вашему приложению занимать всю площадь экрана, включая области за статусбаром и навигационной панелью. Это делает интерфейс современным и более привлекательным, особенно на устройствах с большими дисплеями.

  • setDecorFitsSystemWindows(window, false) — отключает стандартное размещение контента, позволяя использовать всю площадь экрана.
  • systemBarsBehavior — определяет, как будут вести себя системные панели (например, скрываться при свайпе).

Что такое setContent?

Следующая важная часть кода — это вызов функции setContent.

-4

Объяснение:

  • setContent — метод, который устанавливает содержимое экрана. Здесь мы указываем, что будем использовать Jetpack Compose для отображения интерфейса.
  • RuStreamIOTheme — это функция, определяющая тему нашего приложения. Обычно тема включает цвета, типографику и стили, которые будут применяться ко всем UI-элементам.
  • StartProgram — это функция-компонент, описывающая основной интерфейс приложения. Давайте посмотрим, как она выглядит.

Создаём функцию StartProgram

Пример кода:

-5

Разбор функции:

  • @Composable — аннотация, указывающая, что функция является UI-компонентом в Jetpack Compose.
  • Column — контейнер, который располагает элементы вертикально.
  • Text — компонент для отображения текста.
  • Button — кнопка, обрабатывающая нажатия.

Создаём тему RuStreamIOTheme

Для создания единого стиля в приложении удобно использовать тему. Пример темы:

-6

Объяснение:

  • MaterialTheme — обёртка, применяющая цветовую схему и стили ко всем дочерним элементам.
  • darkColorScheme — функция, создающая цветовую схему для тёмной темы.

Итог

Мы подробно разобрали класс MainActivity и его ключевые элементы, такие как:

  • Наследование от ComponentActivity.
  • Инициализация с помощью onCreate.
  • Включение Edge-to-Edge режима.
  • Использование setContent для отображения интерфейса.
  • Создание темы и основного UI-компонента с помощью Jetpack Compose.

Теперь вы можете использовать эти знания для создания собственных приложений на Kotlin с Jetpack Compose. Если у вас остались вопросы или вы хотите увидеть дополнительные примеры, пишите в комментариях, и я подготовлю новый материал.

Заключение

Использование Jetpack Compose даёт множество преимуществ: упрощение кода, быстрый рендеринг и возможность писать интерфейсы декларативно. Надеюсь, данный урок поможет вам быстрее освоить Jetpack Compose и начать создавать современные Android-приложения.

Если статья была полезной, делитесь ею в социальных сетях и подписывайтесь на мой блог, чтобы не пропустить новые уроки!