Share via


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

DeviceDisplay クラスは、アプリケーションが実行されているデバイスの画面のメトリックに関する情報を提供し、アプリケーションの実行中に画面がスリープ状態にならないように要求することができます。

作業開始

この API の使用を始めるには、Xamarin.Essentials の概要ガイドを読み、ライブラリが正しくインストールされてプロジェクトに設定されていることを確認してください。

DeviceDisplay の使用

クラスの Xamarin.Essentials への参照を追加します。

using Xamarin.Essentials;

メインの表示情報

デバイスの基本情報に加えて、DeviceDisplay クラスには、デバイスの画面と向きに関する情報が含まれています。

// 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 クラスでは、画面のメトリックが変化すると常にトリガーされるイベントも公開されており、サブスクライブすることができます。

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 プロパティを公開しています。

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

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

違いはありません。

API

他の Xamarin ビデオは、Channel 9 および YouTube でご覧いただけます。