Benutzerdefinierte Tastaturhandhabung in QML: Deaktivieren der Standardbildschirmverschiebung auf iOS/Android
Posted: 05 Apr 2025, 23:47
Mir ist aufgefallen, dass sich der Bildschirm nach oben verlagert, um das Texteingangsfeld in Ansicht zu halten, wenn sich die virtuelle Tastatur in einer QML -Anwendung auf iOS und Android öffnet. Ich möchte meinen eigenen maßgefertigten Mechanismus für den Umgang mit dieser Umstellung implementieren. Könnte mir jemand bitte beraten, wie ich dieses Standardverhalten vollständig deaktivieren kann, wenn sich die Tastatur öffnet? < /P>
Vielen Dank für Ihre Hilfe! src = "https://ddgobkiprc33d.cloudfront.net/a5 ... 1a9f.gif"/>
Vielen Dank für Ihre Hilfe! src = "https://ddgobkiprc33d.cloudfront.net/a5 ... 1a9f.gif"/>
Code: Select all
import QtQuick
Window {
visible: true
flags: Qt.MaximizeUsingFullscreenGeometryHint
MouseArea {
anchors.fill: parent
onClicked: forceActiveFocus()
}
Rectangle {
anchors.fill: parent
color: "#f5f5f5"
Text {
anchors {
top: parent.top
left: parent.left
right: parent.right
bottom: inputBox.top
margins: 10
}
wrapMode: Text.WordWrap
text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
}
Rectangle {
height: 60
anchors {
left: parent.left
right: parent.right
bottom: parent.bottom
margins: 10
}
color: "white"
radius: 8
border.color: "#ddd"
TextInput {
anchors {
fill: parent
margins: 8
}
text: "Text input control"
}
}
}
}