NavigationBar с несколькими вкладками
Переключайте основные разделы в нижней части экрана.
«NavigationBar с несколькими вкладками» — бесплатный урок Jetpack Compose Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Jetpack Compose Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Jetpack Compose Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Meet NavigationBar
Material 3 gives you NavigationBar, a bar pinned to the bottom that lets people jump between the top-level sections of your app. 📱
When to Use It
Reach for a NavigationBar when your app has three to five equally important destinations, like Home, Search, and Profile.
It Lives in the Scaffold
You usually drop the bar into a Scaffold bottomBar slot, so it stays fixed while the screen content scrolls above it.
Scaffold(
bottomBar = { NavigationBar { /* items */ } }
) { padding -> Content(padding) }Each Tab Is an Item
Inside the bar you add one NavigationBarItem per destination. Each item is a clickable tab with its own icon and label.
NavigationBar {
NavigationBarItem(/* ... */)
NavigationBarItem(/* ... */)
}The selected Flag
Every item needs a selected boolean. Exactly one item should be true at a time so the bar shows where the user is.
NavigationBarItem(
selected = current == "home",
onClick = { go("home") }
)Handle the Tap
The onClick lambda runs when the tab is pressed. This is where you tell your navigation to switch to that section.
Give It an Icon
The icon slot takes a Composable, usually an Icon from the Material set, so each tab is instantly recognizable.
icon = { Icon(Icons.Default.Home, contentDescription = "Home") }Add a Label
The label slot shows short text under the icon. Keep it to one clear word so it fits and reads fast.
label = { Text("Home") }A Model for Tabs
It helps to keep your tabs in a simple data class list, so the bar can loop over them instead of hard-coding each item.
data class Tab(val route: String, val icon: ImageVector, val label: String)Loop to Build the Bar
With a tab list you can forEach over it and emit one NavigationBarItem per entry, keeping the bar tidy and easy to extend.
tabs.forEach { tab ->
NavigationBarItem(/* uses tab fields */)
}Pair It with Content
The bar only switches the active section. You still pair it with a NavHost or a when block that actually swaps the screen content.
Quick Check
You added three tabs to your NavigationBar. Quick check on the basics.
Recap
You met NavigationBar: drop it in the Scaffold, add a NavigationBarItem per section with an icon, label, selected flag, and onClick. Nice work! 🎉
Часто задаваемые вопросы
Урок «NavigationBar с несколькими вкладками» бесплатный?
Да — полный текст урока «NavigationBar с несколькими вкладками» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Jetpack Compose Academy, подпишись на CoddyKit PRO. Курс Jetpack Compose Academy содержит 4 уроков всего.
Чему я научусь в уроке «NavigationBar с несколькими вкладками»?
Переключайте основные разделы в нижней части экрана. Ты практикуешь Jetpack Compose Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Jetpack Compose Academy?
Предыдущий опыт не требуется. Jetpack Compose Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «NavigationBar с несколькими вкладками»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Jetpack Compose Academy?
Да. Каждый урок Jetpack Compose Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- NavigationBar с несколькими вкладками
- Выделение выбранного маршрута
- Сохранение состояния вкладок при переключении
- TabRow и страницы с перелистыванием