【发布时间】:2019-12-04 05:45:51
【问题描述】:
我的活动中的 CoordinatorLayout 中有一个 BottomNavigationView。我有一个 Snackbar,显示在 BottomNav 上方,所以一切都很好。基于某些条件,BottomNav 可见性被修改。然而,snackbar 不会调整到屏幕底部。它停留在现已消失的 BottomNav 的顶部
我尝试观察底部栏的可见性,并在可见性发生变化时绘制一个新的。然而,在我绘制了新的snackBar 之后,就会发生解雇,这会解雇它。
bottomNavigationView.viewTreeObserver.addOnGlobalLayoutListener {
val newVis = bottomNavigationView.visibility
if (bottomNavigationView.tag as Int != newVis) {
bottomNavigationView.tag = bottomNavigationView.visibility
if (p2NotificationSnackBar != null && p2NotificationSnackBar!!.isShown) {
Logger.d(TAG, "BottomNavigationBar visibility changed")
val snackBarTextView = p2NotificationSnackBar!!.view.findViewById(android.support.design.R.id.snackbar_text) as TextView
val snackBarText = snackBarTextView.text.toString()
p2NotificationSnackBar!!.dismiss()
p2NotificationCount = currentMessageCount
displayP2Notification(message = snackBarText, redrawSnackBar = true)
}
}
}
理想情况下,我希望快餐栏无需重绘即可移至底部。谢谢
【问题讨论】:
标签: android bottomnavigationview android-snackbar