Поделиться через


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 li><>Диспетчер окон эмулирует другой размер дисплея, используя .adb shell wm size Возвращаемый размер будет соответствовать эмулированному размеру отображения.</li></ol></p>

Возвращаемое значение не <>подходит для использования при изменении размера и размещении элементов< пользовательского интерфейса/b>, так как оно не отражает размер окна приложения в любом из этих сценариев. WindowManager#getCurrentWindowMetrics() — это альтернатива, которая возвращает размер текущего окна приложения, даже если окно находится на устройстве с секционированием. Это помогает предотвратить ошибки пользовательского интерфейса, в которых элементы пользовательского интерфейса несогласованы или помещены за пределы окна.

Обработка многоэкранного режима необходима правильно, так как приложения не всегда полноэкранны. Пользователь на большом экране устройства, например планшет или устройства ChromeOS, скорее всего, будет использовать режимы с несколькими окнами.

Например, рассмотрим устройство с отображением, разделенным на две половины. У пользователя может быть полноэкранное приложение, открытое в первой секции. Они могут иметь два приложения, открытые на разбиение экрана (пример режима с несколькими окнами) во втором разделе, при этом каждое приложение использует половину раздела. В этом случае сообщает, WindowManager#getCurrentWindowMetrics() что полноэкранное окно составляет половину размера экрана, и каждое разделенное окно составляет четверть размера экрана. С другой стороны, #getRealMetrics сообщает половина размера экрана для всех окон, так как окна приложений ограничены соответствующими секциями. </p>

Этот элемент считается нерекомендуемым. Используется WindowManager#getCurrentWindowMetrics() для определения текущего размера окна действия. Работа, связанная с пользовательским интерфейсом, например выбор макетов пользовательского интерфейса, должна зависеть от WindowMetrics#getBounds(). Используется Configuration#densityDpi для получения текущей плотности.

Документация по Java для android.view.Display.getRealMetrics(android.util.DisplayMetrics).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к