Класс SnackbarHostState
Класс SnackbarHostState
накопляет сообщения и отдаёт их
SnackbarHost.
Объект создают через remember
и передают в параметр hostState.
Текст добавляют suspend-методом
showSnackbar
из корутины rememberCoroutineScope.
Синтаксис
val snackbarHostState = remember { SnackbarHostState() }
Методы
| Метод | Описание |
|---|---|
showSnackbar |
Ставит сообщение в очередь и ждёт, пока пользователь его не закроет. |
Пример
Давайте запомним состояние рядом с Scaffold:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.padding
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.ui.Modifier
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
val snackbarHostState = remember { SnackbarHostState() }
Scaffold(
snackbarHost = {
SnackbarHost(hostState = snackbarHostState)
},
) { padding ->
Text(
text = "abcde",
modifier = Modifier.padding(padding),
)
}
}
}
}
На экране каркас готов принять snackbar, когда вы вызовете showSnackbar.
Смотрите также
-
метод
showSnackbar,
которым добавляют текст сообщения -
функция
SnackbarHost,
которая читает очередь из hostState -
функция
Snackbar,
которой рисуют полоску сообщения -
функция
Scaffold,
где размещают SnackbarHost