Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
160 of 502 menu
◀ ▶

Функция Tab

Функция Tab рисует одну вкладку внутри PrimaryTabRow или похожего ряда. Параметр selected отмечает, активна ли вкладка. Нажатие обрабатывает onClick, подпись передают в лямбду text. Иконку при необходимости задают в icon.

Синтаксис

Tab( selected = true, onClick = { }, text = { Text("abcde") }, )

Параметры

Параметр Описание
selected Если true, вкладка выделена как текущая.
onClick Лямбда без аргументов. Срабатывает при нажатии на вкладку.
text Лямбда с подписью вкладки. Обычно внутри вызывают Text.
icon Лямбда с иконкой над или рядом с текстом. Необязательный параметр.

Пример

Давайте поставим две вкладки в PrimaryTabRow:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.PrimaryTabRow import androidx.compose.material3.Tab import androidx.compose.material3.Text import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { var tab by remember { mutableIntStateOf(0) } PrimaryTabRow(selectedTabIndex = tab) { Tab( selected = tab == 0, onClick = { tab = 0 }, text = { Text(text = "abcde") }, ) Tab( selected = tab == 1, onClick = { tab = 1 }, text = { Text(text = "12345") }, ) } } } }

На экране будет ряд из двух вкладок, первая выделена как выбранная.

Пример

Давайте переключим выбор на вторую вкладку:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.layout.Column import androidx.compose.material3.PrimaryTabRow import androidx.compose.material3.Tab import androidx.compose.material3.Text import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { var tab by remember { mutableIntStateOf(1) } Column { PrimaryTabRow(selectedTabIndex = tab) { Tab( selected = tab == 0, onClick = { tab = 0 }, text = { Text(text = "abcde") }, ) Tab( selected = tab == 1, onClick = { tab = 1 }, text = { Text(text = "12345") }, ) } Text( text = if (tab == 0) "abcde" else "12345", ) } } } }

На экране вторая вкладка будет активной, ниже появится текст "12345".

Смотрите также

  • функция PrimaryTabRow,
    куда ставят вкладки Tab
  • функция SecondaryTabRow,
    которая рисует вторичный стиль ряда
  • функция PrimaryScrollableTabRow,
    которая прокручивает длинный ряд вкладок
  • функция Text,
    которой пишут подпись вкладки
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить