我正在使用带有导航组件的单活动多片段。如何隐藏某些片段的底部导航栏?
我尝试了以下操作:
1-通过数据绑定控制底部导航栏的可见性。 2-在打开片段之前和在后堆栈上切换底部导航可见性(越野车) 3-使2个主机片段1全屏显示1受底部导航约束 4-制作2个导航图..
activity_main.xml:
df[(df.percentage > np.percentile(df.percentage, 10 )) & (df.percentage < np.percentile(df.percentage, 90 ))]
mainactivity.java:
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNavigation"
android:visibility="@{viewModel.uiUtils.shouldShow ? View.VISIBLE:View.GONE}"/>
在全屏片段和普通片段之间切换时,底部导航栏会闪烁
答案 0 :(得分:1)
官方文档建议使用OnDestinationChangedListener
来解决此问题。 Look here.
答案 1 :(得分:0)
我使用了OnDestinationChangedListener,因为@Lavepe回答了...很久没在这里检查了,这是我的代码:
if (destinationLabel.equals("FragmentX")) {
showBottomNav(true);
badgeBehaviour(false, false);}
ui功能:
private void showBottomNav(boolean b) {
binding.bottomNavigation.setVisibility(b ? View.VISIBLE : View.GONE);
}
上方的视图是:
<fragment
android:id="@+id/navHostFragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="0dp"
app:defaultNavHost="true"
app:layout_constraintBottom_toTopOf="@+id/viewcartbadge"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:navGraph="@navigation/nav_graph" />
最好的问候 希望你觉得有用