Share via


デバイス ディスプレイ情報

Browse sample. サンプルを参照する

この記事では、.NET Multi-Platform App UI (.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 インターフェイスでは、デバイスの向きが DisplayOrientation.Landscape から DisplayOrientation.Portrait に変化したときなど、画面メトリックが変化したときに発生する MainDisplayInfoChanged イベントも提供されます。

画面をオンにしたままにする

また、KeepScreenOn プロパティを true に設定することで、デバイスがロックされたり、画面がオフにならないようにすることもできます。 次のコード例では、スイッチ コントロールが押されるたびに画面ロックを切り替えます。

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

プラットフォームによる違い

このセクションでは、デバイス ディスプレイとのプラットフォーム固有の違いについて説明します。

プラットフォームによる違いはありません。