Перейти к содержанию

OverlayLayer

Полноэкранный слой оверлеев, управляющий модальными подложками, диалогами, всплывающими окнами и проверкой попаданий.

Обзор

OverlayLayer — высокоуровневый контейнер для отрисовки плавающих визуальных элементов поверх основного интерфейса.

Основные задачи: - Размещение всплывающих окон, выпадающих списков, контекстных меню, подсказок и плавающих окон. - Управление модальными затемняющими подложками (scrim) с настраиваемым цветом и рендерером. - Маршрутизация ввода мыши и клавиатуры с учетом слоев и закрытием по клику вне виджета. - Взаимодействие с WindowManager для иерархии окон рабочего стола.

Размещение оверлеев и всплывающих виджетов

OverlayLayer overlay = new OverlayLayer(mainContent);
overlay.addOverlay(toastWidget);

Связанные ссылки

  • WindowManager: Менеджер окон, управляющий z-порядком, стеком фокуса, активными состояниями и расположением окон.
  • WindowWidget: Оконный виджет в стиле рабочего стола с поддержкой заголовка, перетаскивания, изменения размера, сворачивания и модальности.

API

OverlayLayer()

Создает пустой OverlayLayer.

OverlayLayer(Widget)

Создает OverlayLayer, содержащий базовый виджет контента.

Параметр Тип Описание
content Widget Вложенный виджет контента.

OverlayLayer::addOverlay(Widget)

Добавляет плавающий виджет оверлея на слой.

Параметр Тип Описание
overlay Widget Плавающий виджет оверлея для добавления или удаления.

Возвращает OverlayLayer: Текущий экземпляр виджета для цепочки вызовов..

OverlayLayer::applyQueuedMutations()

Немедленно применяет отложенные добавления и удаления оверлеев.

OverlayLayer::clearOverlays()

Удаляет все виджеты оверлеев со слоя.

Возвращает OverlayLayer: Текущий экземпляр виджета для цепочки вызовов..

OverlayLayer::content()

Возвращает базовый виджет контента под стеком оверлеев.

Возвращает Widget: Вложенный виджет контента..

OverlayLayer::content(Widget)

Устанавливает базовый виджет контента под стеком оверлеев.

Параметр Тип Описание
content Widget Вложенный виджет контента.

Возвращает OverlayLayer: Текущий экземпляр виджета для цепочки вызовов..

OverlayLayer::modalScrimColor()

Возвращает изменяемый цвет затемняющей подложки модального режима.

Возвращает MutableColor: Изменяемый цвет затемняющей подложки модального режима..

OverlayLayer::modalScrimRenderer()

Возвращает пользовательский рендерер затемняющей подложки модального режима.

Возвращает WidgetRender: Пользовательский рендерер затемняющей подложки модального режима..

OverlayLayer::modalScrimRenderer(WidgetRender)

Устанавливает пользовательский рендерер затемняющей подложки модального режима.

Параметр Тип Описание
modalScrimRenderer WidgetRender Пользовательский рендерер затемняющей подложки модального режима.

Возвращает OverlayLayer: Текущий экземпляр виджета для цепочки вызовов..

OverlayLayer::removeOverlay(Widget)

Удаляет плавающий виджет оверлея со слоя.

Параметр Тип Описание
overlay Widget Плавающий виджет оверлея для добавления или удаления.

Возвращает OverlayLayer: Текущий экземпляр виджета для цепочки вызовов..

OverlayLayer::windowManager()

Возвращает WindowManager, управляющий окнами на этом слое оверлея.

Возвращает WindowManager: Менеджер окон, управляющий плавающими окнами в этом слое оверлея..

OverlayLayer::windows()

Возвращает контроллер WindowManager, управляющий плавающими окнами.

Возвращает WindowManager: Менеджер окон, управляющий плавающими окнами в этом слое оверлея..