Display.GetRealMetrics(DisplayMetrics) メソッド

定義

ウィンドウ装飾を差し引いたり、拡大縮小要素を適用したりすることなく、現在のシステム状態のアプリからアクセスできるディスプレイの最大領域のサイズを取得します。

[Android.Runtime.Register("getRealMetrics", "(Landroid/util/DisplayMetrics;)V", "GetGetRealMetrics_Landroid_util_DisplayMetrics_Handler")]
public virtual void GetRealMetrics(Android.Util.DisplayMetrics? outMetrics);
[<Android.Runtime.Register("getRealMetrics", "(Landroid/util/DisplayMetrics;)V", "GetGetRealMetrics_Landroid_util_DisplayMetrics_Handler")>]
abstract member GetRealMetrics : Android.Util.DisplayMetrics -> unit
override this.GetRealMetrics : Android.Util.DisplayMetrics -> unit

パラメーター

outMetrics
DisplayMetrics

メトリックを受信する DisplayMetrics オブジェクト。

属性

注釈

ウィンドウ装飾を差し引いたり、拡大縮小要素を適用したりすることなく、現在のシステム状態のアプリからアクセスできるディスプレイの最大領域のサイズを取得します。

サイズは、ディスプレイの現在の回転に基づいて調整されます。

返されるサイズは、次のいずれかのシナリオに分類されます。 <ol><li>デバイスにはディスプレイにパーティションがありません。 返される値は、ウィンドウ モードに関係なく、現在のシステム状態のアプリからアクセスできるディスプレイの最大領域です。</li><li>デバイスは、1 つのディスプレイを複数のパーティションに分割します。 アプリケーションはディスプレイの一部に制限されます。 これは、折り畳み式や大画面など、ディスプレイのサイズが変更されるデバイスで一般的です。 返されるサイズは、アプリケーションが .< に制限されているディスプレイの部分と一致します/li><li>ウィンドウ マネージャーは、 adb shell wm sizeを使用して、異なる表示サイズをエミュレートしています。 返されるサイズは、エミュレートされた表示サイズと一致します。</li></ol></p>

返される値は <b>これらのシナリオではアプリケーション ウィンドウのサイズを反映しないため、UI 要素のサイズ設定と配置</b>に使用するのに適していません。 WindowManager#getCurrentWindowMetrics() は、ウィンドウがパーティション分割されたディスプレイを備えたデバイス上にある場合でも、現在のアプリケーション ウィンドウのサイズを返す代替手段です。 これにより、UI 要素がウィンドウの境界を超えて配置されたりする UI のバグを防ぐことができます。

アプリケーションが常に全画面表示であるとは限らないため、マルチウィンドウ モードを正しく処理する必要があります。 タブレットや ChromeOS デバイスなどの大画面デバイスのユーザーは、マルチウィンドウ モードを使用する可能性が高くなります。

たとえば、ディスプレイが 2 つの半分に分割されたデバイスを考えてみましょう。 ユーザーは、最初のパーティションで全画面表示アプリケーションを開いている可能性があります。 2 つ目のパーティションでは、分割画面 (マルチウィンドウ モードの例) で 2 つのアプリケーションが開き、各アプリケーションがパーティションの半分を消費する場合があります。 この場合、全画面表示ウィンドウのサイズが画面の半分であり、分割された各画面ウィンドウのサイズが画面の 4 分の 1 であることを報告 WindowManager#getCurrentWindowMetrics() 。 一方、 #getRealMetrics では、アプリケーション ウィンドウはすべてそれぞれのパーティションに制限されているため、すべてのウィンドウの画面サイズの半分が報告されます。 /p< を >する

このメンバーは非推奨です。 WindowManager#getCurrentWindowMetrics()を使用して、アクティビティ ウィンドウの現在のサイズを識別します。 UI レイアウトの選択などの UI 関連の作業は、 WindowMetrics#getBounds()に依存する必要があります。 Configuration#densityDpiを使用して現在の密度を取得します。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象