Información de pantalla del dispositivo
En este artículo se describe cómo puedes usar la interfaz IDeviceDisplay de .NET Multi-platform App UI (.NET MAUI) para leer información sobre las métricas de pantalla del dispositivo. Esta interfaz se puede usar para solicitar que la pantalla permanezca activa mientras se ejecuta la aplicación.
La implementación predeterminada de la interfaz IDeviceDisplay
está disponible a través de la propiedad DeviceDisplay.Current. Tanto la interfaz IDeviceDisplay
como la clase DeviceDisplay
están contenidas en el espacio de nombres Microsoft.Maui.Devices
.
Información de la pantalla principal
La propiedad MainDisplayInfo devuelve información sobre la pantalla y la orientación. En el ejemplo de código siguiente se usa el evento Loaded de una página para leer información sobre la pantalla actual:
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();
}
La interfaz IDeviceDisplay también proporciona el evento MainDisplayInfoChanged que se genera cuando cambia cualquier métrica de pantalla, como cuando la orientación del dispositivo cambia de DisplayOrientation.Landscape a DisplayOrientation.Portrait.
Mantener la pantalla encendida
También puedes impedir que el dispositivo bloquee o apague la pantalla estableciendo la propiedad KeepScreenOn en true
. En el ejemplo de código siguiente se alterna el bloqueo de pantalla cada vez que se presiona el control de cambio:
private void AlwaysOnSwitch_Toggled(object sender, ToggledEventArgs e) =>
DeviceDisplay.Current.KeepScreenOn = AlwaysOnSwitch.IsToggled;
Diferencias entre plataformas
En esta sección se describen las diferencias específicas de la plataforma con la pantalla del dispositivo.
No hay diferencias entre las plataformas.