OverlayLayer
Полноэкранный слой оверлеев, управляющий модальными подложками, диалогами, всплывающими окнами и проверкой попаданий.
Обзор
OverlayLayer — высокоуровневый контейнер для отрисовки плавающих визуальных элементов поверх основного интерфейса.
Основные задачи:
- Размещение всплывающих окон, выпадающих списков, контекстных меню, подсказок и плавающих окон.
- Управление модальными затемняющими подложками (scrim) с настраиваемым цветом и рендерером.
- Маршрутизация ввода мыши и клавиатуры с учетом слоев и закрытием по клику вне виджета.
- Взаимодействие с WindowManager для иерархии окон рабочего стола.
Размещение оверлеев и всплывающих виджетов
Связанные ссылки
- 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: Менеджер окон, управляющий плавающими окнами в этом слое оверлея..