Only hide tabs fragment when keyboard is out if device is not in landscape mode

This commit is contained in:
Sylvain Berfini 2021-08-31 16:20:55 +02:00
parent 13427bfa6a
commit 3679c29cfd

View file

@ -180,9 +180,11 @@ class MainActivity : GenericActivity(), SnackBarActivity, NavController.OnDestin
findNavController(R.id.nav_host_fragment).addOnDestinationChangedListener(this)
binding.rootCoordinatorLayout.viewTreeObserver.addOnGlobalLayoutListener {
val keyboardVisible = ViewCompat.getRootWindowInsets(binding.rootCoordinatorLayout)?.isVisible(WindowInsetsCompat.Type.ime()) == true
val portraitOrientation = resources.configuration.orientation != Configuration.ORIENTATION_LANDSCAPE
val keyboardVisible = ViewCompat.getRootWindowInsets(binding.rootCoordinatorLayout)
?.isVisible(WindowInsetsCompat.Type.ime()) == true
Log.d("[Tabs Fragment] Keyboard is ${if (keyboardVisible) "visible" else "invisible"}")
tabsFragmentVisible2 = !keyboardVisible
tabsFragmentVisible2 = !portraitOrientation || !keyboardVisible
updateTabsFragmentVisibility()
}