Hier ist mein Fragment-XML. Ich füge android:fitsSystemWindows="true" hinzu, weil es erforderlich war, dass der Insets-Listener ausgelöst wurde.
Code: Select all
...
Code: Select all
private fun observeKeyboardChange() {
binding?.clStreamCreatePost?.post {
val view = binding?.clStreamCreatePost ?: return@post
ViewCompat.setOnApplyWindowInsetsListener(view) { v, insets ->
val imeVisible = insets.isVisible(WindowInsetsCompat.Type.ime())
val statusBarHeight = insets.getInsets(WindowInsetsCompat.Type.statusBars()).top
val imeHeight = insets.getInsets(WindowInsetsCompat.Type.ime()).bottom
Toast.makeText(requireContext(), "imeVisible=$imeVisible", Toast.LENGTH_SHORT).show()
// I want clear focus my textfield when keyboard is hidden
if (!imeVisible) v.clearFocus()
v.updatePadding(
top = 0,
bottom = imeHeight
)
insets
}
}
}
[img]https:// i.sstatic.net/A2274mm8m.png[/img]
Hier ist der Startbildschirm, bevor ich zu dem Fragment navigiere, das Fenstereinsätze implementiert.

Und hier ist das Bild nach der Rückseite des Fragments, das Fenstereinsätze implementiert.
