Keyboard doesn't draw behind button-navigation bars in landscape mode

This commit is contained in:
Jules Aguillon
2024-12-26 12:32:35 +01:00
parent 139ff760e0
commit da957d534b

View File

@@ -268,12 +268,19 @@ public class Keyboard2View extends View
WindowMetrics metrics = WindowMetrics metrics =
((WindowManager)getContext().getSystemService(Context.WINDOW_SERVICE)) ((WindowManager)getContext().getSystemService(Context.WINDOW_SERVICE))
.getCurrentWindowMetrics(); .getCurrentWindowMetrics();
Insets insets = metrics.getWindowInsets().getInsets( WindowInsets wi = metrics.getWindowInsets();
WindowInsets.Type.statusBars() | WindowInsets.Type.navigationBars() // Keyboard doesn't draw behind button-navigation bars in landscape mode
| WindowInsets.Type.displayCutout()); Insets navigationBarInsets = wi.getInsets(WindowInsets.Type.navigationBars());
width = metrics.getBounds().width(); Insets insets = wi.getInsets(
_marginLeft = Math.max(_marginLeft, insets.left); WindowInsets.Type.statusBars()
_marginRight = Math.max(_marginRight, insets.right); | WindowInsets.Type.navigationBars()
| WindowInsets.Type.displayCutout()
| WindowInsets.Type.tappableElement()
| WindowInsets.Type.mandatorySystemGestures()
);
width = metrics.getBounds().width() - navigationBarInsets.left - navigationBarInsets.right;
_marginLeft = Math.max(_marginLeft, insets.left - navigationBarInsets.left);
_marginRight = Math.max(_marginRight, insets.right - navigationBarInsets.right);
_marginBottom += insets.bottom; _marginBottom += insets.bottom;
} }
else else