diff --git a/src/android/jar/src/org/qtproject/qt/android/QtEditText.java b/src/android/jar/src/org/qtproject/qt/android/QtEditText.java index d00fc76d860..69126192169 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtEditText.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtEditText.java @@ -267,11 +267,7 @@ class QtEditText extends View break; case CursorHandleShowNormal: if (m_cursorHandle == null) { - // We pass this to the CursorHandle to use the QtEditText to calculate its - // position. This is OK as the QtEditText size matches the QtWindow size. - // If the size of the QtEditText is changed to not reflect the window's anymore, - // this should be changed to use getParent() instead of this. - m_cursorHandle = new CursorHandle((Activity) getContext(), this, + m_cursorHandle = new CursorHandle((Activity) getContext(), (View) getParent(), CursorHandle.IdCursorHandle, android.R.attr.textSelectHandle, false); } diff --git a/src/android/jar/src/org/qtproject/qt/android/QtInputDelegate.java b/src/android/jar/src/org/qtproject/qt/android/QtInputDelegate.java index 3075d49ee03..c1ebeeee47d 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtInputDelegate.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtInputDelegate.java @@ -104,6 +104,9 @@ class QtInputDelegate implements QtInputConnection.QtInputConnectionListener, Qt return; m_currentEditText.setEditTextOptions(enterKeyType, inputHints); + + m_currentEditText.setLayoutParams(new QtLayout.LayoutParams(width, height, x, y)); + m_currentEditText.requestFocus(); m_currentEditText.postDelayed(() -> { diff --git a/src/android/jar/src/org/qtproject/qt/android/QtWindow.java b/src/android/jar/src/org/qtproject/qt/android/QtWindow.java index 47d8086ecc5..1f06fef50a9 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtWindow.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtWindow.java @@ -44,8 +44,8 @@ class QtWindow extends QtLayout implements QtSurfaceInterface { if (!isForeignWindow) { m_editText = new QtEditText(context, listener); - addView(m_editText, new QtLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, - ViewGroup.LayoutParams.MATCH_PARENT)); + addView(m_editText, new QtLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, + ViewGroup.LayoutParams.WRAP_CONTENT)); m_editText.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); } else { m_editText = null;