Хорошо, это довольно сложно сделать правильно. Приготовьтесь .....
- Как и вы, у вас должна быть раскадровка экрана запуска, и это хорошо.
- Я использую этот параметр на моем
Window
для запуска полный экран:
flags: Qt.Window | Qt.MaximizeUsingFullscreenGeometryHint
Вероятно, тот же эффект, что и ваш параметр видимости выше.
Теперь, если вы действительно хотите сделать это правильно, вам понадобится код C ++.
QVariantMap System::getSafeAreaMargins(QQuickWindow *window)
{
QPlatformWindow *platformWindow = static_cast<QPlatformWindow *>(window->handle());
QMargins margins = platformWindow->safeAreaMargins();
QVariantMap map;
map["top"] = margins.top();
map["right"] = margins.right();
map["bottom"] = margins.bottom();
map["left"] = margins.left();
return map;
}
Обратите внимание, что в вашем файле .pro
вам нужно добавить:
QT += gui-private
и включите этот заголовок:
#include <QtGui/qpa/qplatformwindow.h>
Вам нужно поместить это в класс, который вы предоставляете QML через класс C ++. Это вернет вам «Поля безопасной зоны» для текущего устройства. Дополнительная информация об этом topi c здесь:
https://developer.apple.com/documentation/uikit/uiview/positioning_content_relative_to_the_safe_area?language=objc
Теперь вы должны использовать эту информацию для настройки макета каждого из ваших экранов.
Суть в том, что в полноэкранном режиме ваше окно простирается до верхней части экрана. и к физической нижней части экрана. И это за строкой состояния и за домашней панелью внизу. Если, например, ваш фон белый, тогда ваша белая строка состояния будет выглядеть так, как будто она исчезла, хотя на самом деле она есть, но не различима.
getSafeAreaMargins
выше возвращает информацию, которая сообщает вам, какие поля безопасной области вокруг вашего контент в зависимости от типа устройства. Вы используете их, чтобы убедиться, что ваш фоновый контент запускается за строкой состояния и домашней строкой, когда это имеет смысл, а ваш контент переднего плана никогда не работает. Вы добиваетесь sh этого, добавляя эту информацию к каждому макету страницы по мере необходимости (с помощью настроек полей и отступов или объектов-разделителей).
Обратите внимание: эти значения меняются при запуске приложения и изменении ориентации. ...