Сведения о отображении устройства
В этой статье описывается, как использовать интерфейс пользовательского интерфейса приложений .NET (.NET MAUI) IDeviceDisplay для чтения сведений о метриках экрана устройства. Этот интерфейс можно использовать для запроса экрана оставаться в состоянии пробуждения во время работы приложения.
Реализация интерфейса по умолчанию IDeviceDisplay
доступна через DeviceDisplay.Current свойство. Интерфейс IDeviceDisplay
и DeviceDisplay
класс содержатся в Microsoft.Maui.Devices
пространстве имен.
Основные сведения о отображении
Свойство MainDisplayInfo возвращает сведения о экране и ориентации. В следующем примере кода для чтения сведений о текущем экране используется Loaded событие страницы:
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();
}
Интерфейс IDeviceDisplay также предоставляет MainDisplayInfoChanged событие, которое возникает при изменении любой метрики экрана, например при изменении ориентации устройства на DisplayOrientation.LandscapeDisplayOrientation.Portrait.
Сохранение экрана
Вы также можете запретить блокировку устройства или отключение экрана, задав KeepScreenOn для свойства значение true
. Следующий пример кода переключает блокировку экрана при нажатии элемента управления переключателем:
private void AlwaysOnSwitch_Toggled(object sender, ToggledEventArgs e) =>
DeviceDisplay.Current.KeepScreenOn = AlwaysOnSwitch.IsToggled;
Различия между платформами
В этом разделе описываются различия платформы с отображением устройства.
Различия платформ отсутствуют.