Compartir a través de


StatusBarBehavior

StatusBarBehavior permite personalizar el color y el estilo de una barra de estado de dispositivos.

StatusBarBehavior aplica los valores de color y estilo cuando se actualizan las propiedades. Los valores también se aplican en función de la propiedad ApplyOn, esta propiedad permite definir qué evento del ciclo de vida se usa:

  • StatusBarApplyOn.OnBehaviorAttachedTo: aplica el color y el estilo cuando el comportamiento se ha adjuntado a una página. Este es el valor predeterminado.
  • StatusBarApplyOn.OnPageNavigatedTo: aplica el color y el estilo cuando se ha navegado a la página.

Nota:

Si la aplicación cambia la apariencia de la barra de estado por página, debe usar el valor StatusBarApplyOn.OnPageNavigatedTo para la propiedad ApplyOn. De lo contrario, al volver, el sistema conservará la apariencia de la barra de estado de la página desde la que el usuario navegó y no hacia la que navegó.

Importante

Los comportamientos del kit de herramientas de la comunidad .NET MAUI no establecen el BindingContext de un comportamiento, ya que los comportamientos se pueden compartir y aplicar a varios controles a través de estilos. Para obtener más información, consulta Comportamientos de .NET MAUI

Sintaxis

XAML

Incluir el espacio de nombres XAML

Para usar el kit de herramientas en XAML, es necesario agregar el siguiente xmlns a la página o vista:

xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"

Por lo tanto, el siguiente:

<ContentPage
    x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">

</ContentPage>

Se modificaría para incluir el xmlns de la siguiente manera:

<ContentPage
    x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit">

</ContentPage>

Uso de StatusBarBehavior

El StatusBarBehavior se puede usar de la siguiente manera en XAML:

<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
             x:Class="MyLittleApp.MainPage">
    
    <ContentPage.Behaviors>
        <toolkit:StatusBarBehavior StatusBarColor="Fuchsia" StatusBarStyle="LightContent" />
    </ContentPage.Behaviors>

</ContentPage>

C#

El StatusBarBehavior se puede usar de la siguiente manera en C#:

class MyPage : ContentPage
{
    public MyPage()
    {
        this.Behaviors.Add(new StatusBarBehavior
        {
            StatusBarColor = Colors.Red,
            StatusBarStyle = StatusBarStyle.LightContent
        });
    }
}

Hay otra manera de acceder a las API de Statusbar en C#, puede llamar a los métodos directamente, como puede ver en el fragmento de código siguiente:

class MyPage : ContentPage
{
    protected override void OnNavigatedTo(NavigatedToEventArgs args)
    {
        base.OnNavigatedTo(args);
        CommunityToolkit.Maui.Core.Platform.StatusBar.SetColor(statusBarColor);
        CommunityToolkit.Maui.Core.Platform.StatusBar.SetStyle(StatusBarStyle.LightContent);
    }
}

Advertencia

Si quiere agregar este código al constructor de MainPage, o a los métodos OnAppearing o OnNavigatedTo, use en su lugar el Behavior. El uso directamente en estos lugares puede bloquear su aplicación, ya que los componentes específicos de la plataforma pueden no estar inicializados.

Configuración

No se necesitan cambios.

Propiedades

Propiedad Tipo Descripción
ApplyOn StatusBarBehavior Cuándo aplicar el color y el estilo de la barra de estado.
StatusBarColor Color Nombre Color del espacio de nombres Microsoft.Maui.Graphics.
StatusBarStyle StatusBarStyle El estilo usado por la barra de estado puede ser LightContent, DarkContent o Default.

Ejemplos

Puede encontrar un ejemplo de este comportamiento 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 StatusBarBehavior en el repositorio de GitHub del Kit de herramientas de la comunidad de .NET MAUI.