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

Метод showSnackbar

Метод showSnackbar класса SnackbarHostState добавляет сообщение для SnackbarHost. Это suspend-функция. Параметр message задаёт текст полоски. Вызов делают внутри launch из rememberCoroutineScope.

Синтаксис

snackbarHostState.showSnackbar("abcde")

Параметры

Параметр Описание
message Текст, который увидит пользователь на полоске snackbar.

Пример

Давайте покажем сообщение по нажатию кнопки:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.layout.padding import androidx.compose.material3.Button import androidx.compose.material3.Scaffold import androidx.compose.material3.SnackbarHost import androidx.compose.material3.SnackbarHostState import androidx.compose.material3.Text import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import kotlinx.coroutines.launch class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val snackbarHostState = remember { SnackbarHostState() } val scope = rememberCoroutineScope() Scaffold( snackbarHost = { SnackbarHost(hostState = snackbarHostState) }, ) { padding -> Button( onClick = { scope.launch { snackbarHostState.showSnackbar("abcde") } }, modifier = Modifier.padding(padding), ) { Text(text = "12345") } } } } }

На экране внизу появится snackbar с текстом "abcde".

Пример

Давайте сменим текст второго сообщения:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.layout.padding import androidx.compose.material3.Button import androidx.compose.material3.Scaffold import androidx.compose.material3.SnackbarHost import androidx.compose.material3.SnackbarHostState import androidx.compose.material3.Text import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import kotlinx.coroutines.launch class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val snackbarHostState = remember { SnackbarHostState() } val scope = rememberCoroutineScope() Scaffold( snackbarHost = { SnackbarHost(hostState = snackbarHostState) }, ) { padding -> Button( onClick = { scope.launch { snackbarHostState.showSnackbar("12345") } }, modifier = Modifier.padding(padding), ) { Text(text = "abcde") } } } } }

На экране полоска покажет "12345" над нижней частью каркаса.

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

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