Partilhar via


Informações de exibição do dispositivo

Browse sample. Navegue pelo exemplo

Este artigo descreve como você pode usar a interface .NET Multi-platform App UI (.NET MAUI) IDeviceDisplay para ler informações sobre as métricas de tela do dispositivo. Essa interface pode ser usada para solicitar que a tela permaneça ativa enquanto o aplicativo está em execução.

A implementação padrão da interface está disponível por meio da IDeviceDisplayDeviceDisplay.Current propriedade. A interface e DeviceDisplay a IDeviceDisplay classe estão contidas no Microsoft.Maui.Devices namespace.

Informações de exibição principal

A MainDisplayInfo propriedade retorna informações sobre a tela e a orientação. O exemplo de código a seguir usa o Loaded evento de uma página para ler informações sobre a tela atual:

private void ReadDeviceDisplay()
{
    System.Text.StringBuilder sb = new System.Text.StringBuilder();

    sb.AppendLine($"Pixel width: {DeviceDisplay.Current.MainDisplayInfo.Width} / Pixel Height: {DeviceDisplay.Current.MainDisplayInfo.Height}");
    sb.AppendLine($"Density: {DeviceDisplay.Current.MainDisplayInfo.Density}");
    sb.AppendLine($"Orientation: {DeviceDisplay.Current.MainDisplayInfo.Orientation}");
    sb.AppendLine($"Rotation: {DeviceDisplay.Current.MainDisplayInfo.Rotation}");
    sb.AppendLine($"Refresh Rate: {DeviceDisplay.Current.MainDisplayInfo.RefreshRate}");

    DisplayDetailsLabel.Text = sb.ToString();
}

A IDeviceDisplay interface também fornece o MainDisplayInfoChanged evento que é gerado quando qualquer métrica de tela é alterada, como quando a orientação do dispositivo muda de DisplayOrientation.Landscape para DisplayOrientation.Portrait.

Mantenha a tela ligada

Você também pode impedir que o dispositivo bloqueie ou que a tela seja desligada definindo a KeepScreenOn propriedade como true. O exemplo de código a seguir alterna o bloqueio de tela sempre que o controle de switch é pressionado:

private void AlwaysOnSwitch_Toggled(object sender, ToggledEventArgs e) =>
    DeviceDisplay.Current.KeepScreenOn = AlwaysOnSwitch.IsToggled;

Diferenças de plataforma

Esta seção descreve as diferenças específicas da plataforma com a exibição do dispositivo.

Sem diferenças entre plataformas.