设备状态栏上的 QML 元素

QML elements over device's status bar

我在显示设备键盘时遇到问题。如图所示,这些元素越过设备的状态栏。

我已经尝试使用 Flickable 类型,但它不起作用。每次出现键盘时,它都会将应用程序元素推到状态栏上。

PS:Android和iOS都存在问题。

代码如下:

import QtQuick 2.4
import QtQuick.Window 2.2
import QtQuick.Controls 1.3

Window {
    visible: true
    property int larguraTela: 360
    property int alturaTela: 640
    width: larguraTela
    height: alturaTela
    maximumWidth: larguraTela
    maximumHeight: alturaTela
    minimumWidth: larguraTela
    minimumHeight: alturaTela
    title: "OverStatusBar"

    Rectangle{
        id: retangulo1

        width: parent.width
        height: parent.height * 0.5
        anchors.top: parent.top
        color: "grey"
    }

    Rectangle{
        id: retangulo2

        width: parent.width
        height: parent.height * 0.5
        anchors.top: retangulo1.bottom
        color: "lightgrey"

        TextField {
            id: campoTexto

            width: parent.width * 0.7
            height: parent.height * 0.15
            anchors.centerIn: parent
            inputMethodHints: Qt.ImhDigitsOnly
        }
    }
}

On Android: 您需要在 activity 标记的末尾添加 android:windowSoftInputMode="adjustResize",因此它看起来像这样:

<activity ... android:windowSoftInputMode="adjustResize">

此行为已被 Qt 接受为错误。如果有人想跟上,这里是 link

https://bugreports.qt.io/browse/QTBUG-50200