Чтобы попытаться обнаружить проблему, я создал MWE на основе примера, приведенного в документации Qt SafeArea.
На основе этого примера приложение должно выглядеть, как показано ниже. Экран заполнен градиентом SunnyMorning (оранжевый), а безопасная область экрана заполнена градиентом DustyGrass (зеленый). Это изображение взято непосредственно из документации.

Мой код MWE с использованием Qt 6.9.1 показан ниже
Код: Выделить всё
import QtQuick
import QtQuick.Controls
ApplicationWindow {
width: 640
height: 480
visible: true
flags: Qt.Window | Qt.ExpandedClientAreaHint | Qt.NoTitleBarBackgroundHint
title: qsTr("Safe Area")
topPadding: 0
Rectangle {
id: parentItem
gradient: Gradient.SunnyMorning
anchors.fill: parent
Rectangle {
id: childItem
gradient: Gradient.DustyGrass
anchors {
fill: parent
topMargin: parent.SafeArea.margins.top
leftMargin: parent.SafeArea.margins.left
rightMargin: parent.SafeArea.margins.right
bottomMargin: parent.SafeArea.margins.bottom
}
}
}
}

Однако при работе на Android безопасная область (DustyGrass) ошибочно заполняет все окно, и градиент SunnyMorning не виден, как показано ниже. Очевидно, что безопасная область не должна перекрывать строку состояния вверху и элементы управления внизу. В этих областях должен отображаться градиент «Солнечное утро».

Как я могу убедиться, что безопасная область работает правильно на устройствах Android?
Возможно полезная информация:
- DANDROID_ABI:STRING=arm64-v8a
- DANDROID_NDK:PATH=C:/Users//AppData/Local/Android/Sdk/ndk/27.2.12479018
- DANDROID_PLATFORM:STRING=android-23
- Версия инструментов сборки Android: 35.0.1
- SDK платформы сборки Android: android-35
Подробнее здесь: https://stackoverflow.com/questions/797 ... id-devices