Informazioni sulla visualizzazione del dispositivo
Questo articolo descrive come usare l'interfaccia dell'interfaccia dell'app multipiattaforma .NET (.NET MAUI) IDeviceDisplay per leggere informazioni sulle metriche dello schermo del dispositivo. Questa interfaccia può essere usata per richiedere che lo schermo rimanga attivo mentre l'app è in esecuzione.
L'implementazione predefinita dell'interfaccia IDeviceDisplay
è disponibile tramite la DeviceDisplay.Current proprietà . Sia l'interfaccia che DeviceDisplay
la IDeviceDisplay
classe sono contenute nello spazio dei Microsoft.Maui.Devices
nomi .
Informazioni di visualizzazione principali
La MainDisplayInfo proprietà restituisce informazioni sullo schermo e sull'orientamento. Nell'esempio di codice seguente viene usato l'evento Loaded di una pagina per leggere le informazioni sulla schermata corrente:
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();
}
L'interfaccia IDeviceDisplay fornisce anche l'evento MainDisplayInfoChanged generato quando viene modificata qualsiasi metrica dello schermo, ad esempio quando l'orientamento del dispositivo passa da DisplayOrientation.Landscape a DisplayOrientation.Portrait.
Mantieni la schermata
È anche possibile impedire al dispositivo di bloccare o disattivare lo schermo impostando la KeepScreenOn proprietà su true
. Nell'esempio di codice seguente viene attivato o disattivato il blocco dello schermo ogni volta che viene premuto il controllo switch:
private void AlwaysOnSwitch_Toggled(object sender, ToggledEventArgs e) =>
DeviceDisplay.Current.KeepScreenOn = AlwaysOnSwitch.IsToggled;
Differenze tra le piattaforme
Questa sezione descrive le differenze specifiche della piattaforma con la visualizzazione del dispositivo.
Non esistono differenze per questa piattaforma.