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

Функция Snackbar

Функция Snackbar рисует компактную полоску Material3 с текстом. Основной текст передают в параметр content, часто через Text. На экране приложения полоску обычно не ставят напрямую: её показывает SnackbarHost после вызова showSnackbar.

Синтаксис

Snackbar { Text("abcde") }

Параметры

Параметр Описание
content Лямбда с текстом сообщения и при необходимости кнопкой действия.
action Лямбда с кнопкой действия справа от текста. Необязательный параметр.
dismissAction Лямбда с кнопкой закрытия сообщения. Необязательный параметр.

Пример

Давайте выведем одну полоску с текстом:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.Snackbar import androidx.compose.material3.Text class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Snackbar { Text(text = "abcde") } } } }

На экране появится тёмная полоска с текстом "abcde".

Пример

Давайте добавим кнопку действия:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.Snackbar import androidx.compose.material3.Text import androidx.compose.material3.TextButton class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Snackbar( action = { TextButton(onClick = { }) { Text(text = "12345") } }, ) { Text(text = "abcde") } } } }

На экране справа от текста будет кнопка с подписью "12345".

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

  • функция SnackbarHost,
    которая показывает очередь сообщений
  • класс SnackbarHostState,
    который ставит сообщение в очередь
  • функция Scaffold,
    куда вешают SnackbarHost в snackbarHost
  • метод showSnackbar,
    который запускает показ полоски
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить