Xamarin.Essentials:デバイス ディスプレイ情報Xamarin.Essentials: Device Display Information

DeviceDisplay クラスは、アプリケーションが実行されているデバイスの画面のメトリックに関する情報を提供し、アプリケーションの実行中に画面がスリープ状態にならないように要求することができます。The DeviceDisplay class provides information about the device's screen metrics the application is running on and can request to keep the screen from falling asleep when the application is running.

作業開始Get started

この API の使用を始めるには、Xamarin.Essentials の概要ガイドを読み、ライブラリが正しくインストールされてプロジェクトに設定されていることを確認してください。To start using this API, read the getting started guide for Xamarin.Essentials to ensure the library is properly installed and set up in your projects.

DeviceDisplay の使用Using DeviceDisplay

自分のクラスの Xamarin.Essentials に参照を追加します。Add a reference to Xamarin.Essentials in your class:

using Xamarin.Essentials;

メインの表示情報Main Display Info

デバイスの基本情報に加えて、DeviceDisplay クラスには、デバイスの画面と向きに関する情報が含まれています。In addition to basic device information the DeviceDisplay class contains information about the device's screen and orientation.

// Get Metrics
var mainDisplayInfo = DeviceDisplay.MainDisplayInfo;

// Orientation (Landscape, Portrait, Square, Unknown)
var orientation = mainDisplayInfo.Orientation;

// Rotation (0, 90, 180, 270)
var rotation = mainDisplayInfo.Rotation;

// Width (in pixels)
var width = mainDisplayInfo.Width;

// Height (in pixels)
var height = mainDisplayInfo.Height;

// Screen density
var density = mainDisplayInfo.Density;

DeviceDisplay クラスでは、画面のメトリックが変化すると常にトリガーされるイベントも公開されており、サブスクライブすることができます。The DeviceDisplay class also exposes an event that can be subscribed to that is triggered whenever any screen metric changes:

public class DisplayInfoTest
    public DisplayInfoTest()
        // Subscribe to changes of screen metrics
        DeviceDisplay.MainDisplayInfoChanged += OnMainDisplayInfoChanged;

    void OnMainDisplayInfoChanged(object sender, DisplayInfoChangedEventArgs  e)
        // Process changes
        var displayInfo = e.DisplayInfo;

DeviceDisplay クラスは、デバイスの画面がオフになったりロックされたりしないために設定できる、KeepScreenOn と呼ばれる bool プロパティを公開しています。The DeviceDisplay class exposes a bool property called KeepScreenOn that can be set to attempt to keep the device's display from turning off or locking.

public class KeepScreenOnTest
    public void ToggleScreenLock()
        DeviceDisplay.KeepScreenOn = !DeviceDisplay.KeepScreenOn;

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

違いはありません。No differences.