次の方法で共有


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>

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

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

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

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

の Java ドキュメントandroid.view.Display.getRealMetrics(android.util.DisplayMetrics)

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象