Compartir a través de


Notificaciones emergentes

Snackbar es una alerta con tiempo que aparece en la parte inferior de la pantalla de forma predeterminada. Se descarta después de una duración configurable de tiempo. Snackbar es totalmente personalizable y se puede anclar a cualquier IView.

El Snackbar informa a los usuarios de un proceso que una aplicación ha realizado o va a realizar. Aparece temporalmente, hacia la parte inferior de la pantalla.

Inicialización específica de la plataforma

Para acceder a la funcionalidad de Snackbar, se requiere la siguiente configuración específica para la plataforma.

No es necesario realizar ninguna configuración.

Sintaxis

El Snackbar se invoca mediante C#.

C#

Para mostrar Snackbar debe crearla, mediante el método estático Make:

using CommunityToolkit.Maui.Alerts;

CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();

var snackbarOptions = new SnackbarOptions
{
    BackgroundColor = Colors.Red,
    TextColor = Colors.Green,
    ActionButtonTextColor = Colors.Yellow,
    CornerRadius = new CornerRadius(10),
    Font = Font.SystemFontOfSize(14),
    ActionButtonFont = Font.SystemFontOfSize(14),
    CharacterSpacing = 0.5
};

string text = "This is a Snackbar";
string actionButtonText = "Click Here to Dismiss";
Action action = async () => await DisplayAlert("Snackbar ActionButton Tapped", "The user has tapped the Snackbar ActionButton", "OK");
TimeSpan duration = TimeSpan.FromSeconds(3);

var snackbar = Snackbar.Make(text, action, actionButtonText, duration, snackbarOptions);

await snackbar.Show(cancellationTokenSource.Token);

Al llamar a Snackbar.Make(), se requiere su parámetro string text. Todos los demás parámetros son opcionales.

En la captura de pantalla siguiente se muestra la barra de aperitivos resultante:

También hay un método de extensión, que delimitará el Snackbar a cualquier VisualElement:

await MyVisualElement.DisplaySnackbar("Snackbar is awesome. It is anchored to MyVisualElement");

Advertencia

Snackbar en Windows no se puede anclar a VisualElement y siempre se muestra como una notificación predeterminada de Windows.

SnackBar contiene dos eventos:

  • public static event EventHandler Shown
  • public static event EventHandler Dismissed

También contiene la propiedad public static bool IsShown { get; }.

Snackbar.Shown += (s, e) => { Console.WriteLine(Snackbar.IsShown); };
Snackbar.Dismissed += (s, e) => { Console.WriteLine(Snackbar.IsShown); };

Propiedades

Propiedad Tipo Descripción
Texto string Mensaje de texto. Obligatorio
Action Action Acción que se va a invocar en el botón de acción haga clic.
ActionButtonText string Texto del botón de acción.
Delimitador IView Snackbar delimitador. Snackbar aparece cerca de esta vista. Cuando null, el Snackbar aparecerá en la parte inferior de la pantalla.
Duration TimeSpan Snackbar duración.
VisualOptions SnackbarOptions Snackbar opciones visuales.

SnackbarOptions

El SnackbarOptions permite personalizar el estilo de Snackbar predeterminado.

Propiedades

Propiedad Tipo Descripción Default value
CharacterSpacing double Espaciado de caracteres de mensaje. 0.0d
Fuente Font Fuente del mensaje. Font.SystemFontOfSize(14)
TextColor Color Color del texto del mensaje. Colors.Black
ActionButtonFont Font Fuente del botón de acción. Font.SystemFontOfSize(14)
ActionButtonTextColor Color Color de texto del botón de acción. Colors.Black
BackgroundColor Color Color de fondo. Colors.LightGray
CornerRadius CornerRadius Radio de esquina. new CornerRadius(4, 4, 4, 4)

Métodos

método Descripción
Mostrar Muestra el objeto solicitadoSnackbar. Esto descartará cualquier que se muestre actualmente Snackbar.
Descartar Descarte el solicitadoSnackbar.

Nota:

Solo puede mostrar 1 Snackbar al mismo tiempo. Si llama al método Show una segunda vez, el primer Snackbar se descartará automáticamente antes de que se muestre el segundo Snackbar.

Ejemplos

Puede encontrar un ejemplo de esta característica en acción en la Aplicación de muestra del kit de herramientas de la comunidad de .NET MAUI.

API

Puede encontrar el código fuente de Snackbar en el repositorio de GitHub del Kit de herramientas de la comunidad de .NET MAUI.