Hide tabs fragments when keyboard is visible to gain some space
This commit is contained in:
parent
a9daf53d69
commit
83a823152e
2 changed files with 13 additions and 0 deletions
|
@ -30,6 +30,8 @@ import android.view.Gravity
|
|||
import android.view.MotionEvent
|
||||
import android.view.View
|
||||
import android.view.inputmethod.InputMethodManager
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import androidx.databinding.DataBindingUtil
|
||||
import androidx.fragment.app.FragmentContainerView
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
|
@ -174,6 +176,16 @@ class MainActivity : GenericActivity(), SnackBarActivity, NavController.OnDestin
|
|||
registerComponentCallbacks(componentCallbacks)
|
||||
findNavController(R.id.nav_host_fragment).addOnDestinationChangedListener(this)
|
||||
|
||||
binding.rootCoordinatorLayout.viewTreeObserver.addOnGlobalLayoutListener {
|
||||
val keyboardVisible = ViewCompat.getRootWindowInsets(binding.rootCoordinatorLayout)?.isVisible(WindowInsetsCompat.Type.ime()) == true
|
||||
Log.d("[Tabs Fragment] Keyboard is ${if (keyboardVisible) "visible" else "invisible"}")
|
||||
if (keyboardVisible) {
|
||||
hideTabsFragment()
|
||||
} else {
|
||||
showTabsFragment()
|
||||
}
|
||||
}
|
||||
|
||||
if (intent != null) handleIntentParams(intent)
|
||||
}
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
</data>
|
||||
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
android:id="@+id/root_coordinator_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
|
|
Loading…
Reference in a new issue