我想实现这样的功能:
当我登录时,用“Tab:Me”Logged In Fragment显示这个片段
当我必须登录时,用“Tab:Me”Not Logged In Fragment显示这个片段
现在我在导航图(JetPack)中使用BottomNavigationView加载片段,但我不知道如何通过一个“标签”加载不同的片段
我有答案!!!
第一步:添加项目在我的BottomNavigationView的菜单中像这样:(添加authorizationFragment)
//bottom_navigation_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/indexFragment"
android:icon="@drawable/bottom_home"
android:title="@string/index_act_string1" />
<item
android:id="@+id/sellingFragment"
android:icon="@drawable/bottom_selling"
android:title="@string/index_act_string2" />
<item
android:id="@+id/exploreFragment"
android:icon="@drawable/bottom_news"
android:title="@string/index_act_string3" />
<item
android:id="@+id/meFragment"
android:icon="@drawable/bottom_me"
android:title="@string/index_act_string4" />
<item
android:id="@+id/authorizationFragment"
android:icon="@drawable/bottom_me"
android:title="@string/index_act_string4" />
</menu>
第二步:创建一个新的片段“AuthorizationFragment”并在我的导航图中添加此片段,并设置AuthorizationFragment的目标ID,如“authorizationFragment”
第三步:在我的MainActivity主机导航图中,使用如下代码:
if(loginStatus == true){
bottomNavigationView.menu.menu.findItem(R.id.authorizationFragment).isVisible = true
bottomNavigationView.menu.findItem(R.id.meFragment).isVisible = false
}else{
bottomNavigationView.menu.menu.findItem(R.id.authorizationFragment).isVisible = false
bottomNavigationView.menu.findItem(R.id.meFragment).isVisible = true
}
它工作得很好!!!