mirror of
https://github.com/logseq/logseq.git
synced 2026-05-16 17:02:34 +00:00
fix(ui): improve visibility handling for IME in NativeEditorToolbarPlugin
This commit is contained in:
@@ -182,7 +182,9 @@ private class EditorToolbarView(context: android.content.Context) : FrameLayout(
|
||||
) {
|
||||
val imeInsets = insets.getInsets(WindowInsetsCompat.Type.ime())
|
||||
val navInsets = insets.getInsets(WindowInsetsCompat.Type.navigationBars())
|
||||
val coveredBySystemUi = if (insets.isVisible(WindowInsetsCompat.Type.ime())) {
|
||||
val imeVisible = insets.isVisible(WindowInsetsCompat.Type.ime())
|
||||
updateVisibilityForIme(imeVisible)
|
||||
val coveredBySystemUi = if (imeVisible) {
|
||||
bottomOverlap(root, decorView, imeInsets.bottom)
|
||||
} else {
|
||||
bottomOverlap(root, decorView, navInsets.bottom)
|
||||
@@ -190,6 +192,13 @@ private class EditorToolbarView(context: android.content.Context) : FrameLayout(
|
||||
updateBottomMargin(coveredBySystemUi + margin)
|
||||
}
|
||||
|
||||
private fun updateVisibilityForIme(imeVisible: Boolean) {
|
||||
val targetVisibility = if (imeVisible) VISIBLE else GONE
|
||||
if (visibility != targetVisibility) {
|
||||
visibility = targetVisibility
|
||||
}
|
||||
}
|
||||
|
||||
private fun bottomOverlap(root: View, decorView: View, bottomInset: Int): Int {
|
||||
if (bottomInset <= 0 || root.height <= 0) return 0
|
||||
|
||||
|
||||
Reference in New Issue
Block a user