Функция 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,
который запускает показ полоски