DANFA

Kotlin: Класс Toast(): Кратковременное сообщение

В Kotlin для вывода кратковременных уведомлений (на 2–5 секунд) используется класс Toast из Android SDK.

Основная функция‑конструктор


Toast.makeText(context, text, duration).show()

Параметры:
  • context — контекст приложения (например, this в Activity, requireContext() во фрагменте).
  • text — текст сообщения (строка или ресурс R.string.xxx).
  • duration — длительность показа:
    • Toast.LENGTH_SHORT — ~2 секунды;
    • Toast.LENGTH_LONG — ~3,5 секунды.


Простой пример:
Toast.makeText(this, "Операция выполнена!", Toast.LENGTH_SHORT).show()

Расширенный пример (С настройкой позиции):
val toast = Toast.makeText(this, "Сообщение с настройкой", Toast.LENGTH_LONG)
toast.setGravity(Gravity.TOP or Gravity.CENTER_HORIZONTAL, 0, 50)
toast.show()

setGravity(gravity, xOffset, yOffset) задаёт:
  • позицию на экране (Gravity.TOP, Gravity.CENTER, Gravity.BOTTOM и т. п.);
  • смещение по осям X и Y (в пикселях).

Важные нюансы


  1. Вызов .show() обязателен — без него Toast не отобразится.
  2. Контекст должен быть валидным (например, активность не должна быть уничтожена).
  3. Потокобезопасность — Toast нужно вызывать из UI‑потока (в корутинах используйте withContext(Dispatchers.Main)).
  4. Ограничения Android 12+:
    • максимум 2 строки текста;
    • система может объединять несколько Toast в одно уведомление.


Альтернативы (Когда Toast не подходит)


  • Snackbar — если нужно добавить кнопку действия (например, «Отменить»).
  • Dialog — если требуется подтверждение от пользователя.
  • Notification — если сообщение должно оставаться в шторке даже после закрытия приложения.

Итог


Для простых кратковременных уведомлений используйте Toast.makeText(...).show(). Это стандартный, лёгкий и понятный способ показать пользователю краткую информацию.

Автор:  11.02.2026 06:32:49 am