【发布时间】:2020-07-02 20:59:50
【问题描述】:
我的应用使用底部导航,它与 NavController 绑定。我想加载一个在我的应用程序中创建新项目的片段,所以我希望片段占据底部导航使用的屏幕部分。我正在尝试使我的应用与 Google 的应用保持一致,因此我使用了底部的快速进入动画。
但是,默认情况下,NavController 会加载到位于 BottomNavigationView 上方的 NavHostFragment 中,因此底部导航会与任何片段一起显示。我尝试使用谷歌建议的方法来Listen for navigation events。但是,这会将 BottomNavigationView 设置为在片段导航发生之前启动,将当前片段向下移动,从而对导航产生结巴效果。
更糟糕的是,目标片段的复杂性似乎几乎没有,新片段的布局需要一点时间来膨胀,所以底部导航视图消失了,应用程序在膨胀时暂停片刻,然后动画太迟了,片段结结巴巴地出现了。
什么是正确的方法?
【问题讨论】:
标签: java android android-studio android-layout android-fragments